数据抓取一

数据抓取一

一.今日任务

  1. 将数据文件 spider.log根据要求转存为 ans0201.csv

二.主要内容

  1. 任务分析以及实现方式

根据要求,我们需要取出spider.log文件中的相关字段,使用Python中的读取文件,每行数据都有相同的规律,按行读取,取出相应字段,然后创建csv文件,之后将读取的文件按要求写入csv

  1. 使用语言工具  Python

模块  os

  1. 主要源码

import csv
import codecs
list = []
listCsv = []
def readLog():   #按行读取数据文件,如果链接是 movie,则是我们需要的数据
    list = []
    with open(r"C:\Users\liu\Desktop\arg\task0201\spider.log", "r", encoding="utf-8") as file:
        s = file.readlines()
        for i in s:
            str = i.split(",")
            if str[1].startswith(r"http://www.movie.com/"):
                list.append(i)

    return list

def anyData(list):        #去除多余的数据,拿到需要的电影名,上映时间等
    listCsv = []
    for abc in list:
        str = abc.split(";")

        movieName = str[0].split(",")[2]
        loadDate = str[1]
        uploadDate = str[2]
        pay = str[7][5:]
        tuple = (movieName, loadDate, uploadDate, pay)
        listCsv.append(tuple)

    return listCsv


def writeCsv(list):       #写入csv文件
    f = codecs.open('ans0201.csv', 'w', 'utf-8')
    writer = csv.writer(f)
    for i in list:
        writer.writerow(i)
    f.close()

if __name__ == "__main__":

    list = anyData(readLog())
    print(list)
    writeCsv(list)

 

 

三.遇到问题

  1. 文件数据需要进行筛选
  2. 筛选过的数据需要按规则进行过滤
  3. Csv文件读写

四.解决方式

    1. 关于文件数据的问题,刚开始没看明白,后来注意到题目中的链接是固定的,根据链接可以筛选出所需要的网页收集的数据
    2. 关于数据过滤,第一是每一行的第一个数据只需要名字,第二是票房的数据删除票房文字
    3. Csv文件读写在网上有文件读写的方式,按照方法来参照着写
posted @ 2020-07-22 16:52  晚暮听灯  阅读(109)  评论(0编辑  收藏  举报