栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python 爬取豆瓣top250

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 爬取豆瓣top250

#第一步,拿到源代码 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 追加写模式

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498994.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号