#第一步,拿到源代码 requests #第二步拿到想要的数据 re import re import requests import csv for page in range(0,226,25): url = "https://movie.douban.com/top250?start=%s&filter="%page print(url) header = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"} resp = requests.get(url,headers=header) page_content = resp.text #网页源代码保存在这 #第二步 obj = re.compile('.*?(?P犯过的错误:.*?).*? .*?
(?P.*?) .*?.*?(?P .*?).*?.*?(?P .*?)',re.S) result = obj.finditer(page_content) # with open("data.csv","w",encoding="utf-8") as f: 没成功 f = open("data.csv",mode="a+",encoding='utf-8') #创建一个csv文件 mode="w",mode = "a"持续写入不覆盖 csvwrite = csv.writer(f)#具有写入的功能 for i in result: # print(i.group("name")) # print(i.group("year").strip())#.strip()作用是去掉多余的空格 # print(i.group("score").strip())#.strip()作用是去掉多余的空格 # print(i.group("number").strip())#.strip()作用是去掉多余的空格 dic = i.groupdict()#将(?P<名>.*?)的值存入字典 dic['year'] = dic['year'].strip()#因为year前边有空格,所以给它去掉空格 csvwrite.writerow(dic.values())#将字典里值写入csv文件 f.close() resp.close()
1.循环要对齐,格式要对齐
2.mode =‘a’ 如果是w就会出现只有一页数据的现象
r 只读模式
w 写模式
a 追加写模式
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)