时间:2021-05-23
爬蟲四步原理:
1.发送请求:requests
2.获取相应数据:对方及其直接返回
3.解析并提取想要的数据:re
4.保存提取后的数据:with open()文件处理
爬蟲三步曲:
1.发送请求
2.解析数据
3.保存数据
注意:豆瓣网页爬虫必须使用请求头,否则服务器不予返回数据
import reimport requests# 爬蟲三部曲:# 1.获取请求def get_data(url, headers): response = requests.get(url, headers=headers) # 如果爬取的是html文本就是用.text方法获取文本数据,如果爬取的是音视频就用.content方法获取二进制流数据 # print(response.text) # 获取相应文本,比如html代码 return response.text# 2.解析数据def parser_data(text): # re.findall("正则表达式", "过滤的文本", re.S) # 匹配模式:re.S 全局模式 data = re.findall( '<div class="item">.*?<a href="(.*?)" rel="external nofollow" >.*?<span class="title">(.*?)</span>.*?<span class="rating_num" property="v:average">(.*?)</span>.*?<span>(.*?)人评价</span>', text, re.S) for move_info in data: yield move_info# 3.保存数据def save_data(res_list_iter): with open("豆瓣TOP250.txt", "a", encoding="utf-8") as f: for i in res_list_iter: move_page, move_title, move_score, move_evaluation = i # print(move_page, move_title, move_score, move_evaluation) str1 = f"电影名字:《{move_title}》 电影评分:{move_score} 电影评价:{move_evaluation} 电影详情页:{move_page}\n" f.write(str1)# 使用请求头请求数据headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 \ Safari/537.36'}n = 0# 获取10个链接for i in range(10): url = f"https://movie.douban.com/top250?start={n}&filter==" n += 25 text = get_data(url, headers) res_list_iter = parser_data(text) save_data(res_list_iter)执行结果:
以上就是python使用re模块爬取豆瓣Top250电影的详细内容,更多关于python 爬取豆瓣电影的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Python实现的爬取豆瓣电影信息功能。分享给大家供大家参考,具体如下:本案例的任务为,爬取豆瓣电影top250的电影信息(包括序号、电影名称、导
1.爬取豆瓣top250书籍importrequestsimportjsonimportcsvfrombs4importBeautifulSoupbooks=[
利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项
最近老师布置了个作业,爬取豆瓣top250的电影信息。按照套路,自然是先去看看源代码了,一看,基本的信息竟然都有,心想这可省事多了。简单分析了下源代码,标记出所
豆瓣电影排行榜前250分为10页,第一页的url为https://movie.douban.com/top250,但实际上应该是https://movie.do