300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Project 2 :Python爬虫源码实现抓取豆瓣电影爱情电影Top200并保存到文件

Project 2 :Python爬虫源码实现抓取豆瓣电影爱情电影Top200并保存到文件

时间:2023-07-08 06:13:20

相关推荐

Project 2 :Python爬虫源码实现抓取豆瓣电影爱情电影Top200并保存到文件

基于python3.6—pycharm编写的,都已经调试过了,欢迎大家提出交流意见。

关于一些基础的数据网页分析(比如为什么是这个url)没有过多赘述,看不懂的自行百度。

源码可以直接拷贝运行。

转载请注明来源。

import reimport requests'''Python抓取豆瓣爱情电影排行Top2001、payload构建url2、get方式打开url3、re.findall正则表达式提取数据'''def main():url = "/j/chart/top_list?type=13&interval_id=100%3A90"headers = {'Host':'','Referer':'/','User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'} #模拟浏览器访问,防止服务器封IPpayload = {'action':'','start':'0','limit':'20'} #构建url传递字典file = open('douban.txt', 'w', encoding='utf-8') #打开写入文件for k in range(0,10):payload['start'] = k * 20 #构建url变量resp = requests.get(url,params=payload,headers=headers) #生成url并回传结果resp.encoding = 'utf-8' #设置编码#正则表达式生成电影信息Name = re.findall(r'"title":"([^"]+)"', resp.text, re.I) #电影名字Score = re.findall(r'"score":"([^"]+)"', resp.text, re.I) #电影评分Date = re.findall(r'release_date":"([^"]+)"', resp.text, re.I) #上映日期Rank = re.findall(r'rank":([^"]+)', resp.text, re.I) #豆瓣排名x = len(Name) # 每一页包含电影的数量for i in range(0, x): # 把列表的数据保存到文件中file.write('豆瓣排名:' + Rank[i].strip(',') + '\n' + '名称:' + Name[i] + '\n' + '上映时间:' + Date[i] + '\n' + '评分:' + Score[i] + '\n' + '\n\n')print("正在加载第", k*20+i+1, "部")file.close()if __name__ == '__main__':main()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。