首页 > 其他 > 详细

第三篇 - 爬取豆瓣电影网

时间:2018-08-15 23:54:58      阅读:214      评论:0      收藏:0      [点我收藏+]

环境:python 3.6  pycharm

模块:requests,json

 1 import requests
 2 import json
 3 
 4 #请求头
 5 headers = {
 6     Accept : */*,
 7     Accept-Encoding : gzip, deflate, br,
 8     Connection : keep-alive,
 9     Host : movie.douban.com,
10     Referer : https://movie.douban.com/typerank?type_name=%E6%88%98%E4%BA%89&type=22&interval_id=100:90&action=,
11     ‘User-Agent‘ : ‘‘,
12     X-Requested-With : XMLHttpRequest
13 }
14 
15 def write_films(file_name):
16     ‘‘‘将电影名+评分+url存入movie.txt文件中‘‘‘
17     num_list = [0,20,40,60,76]#动态页面,20为一页
18     index =1#获取电影的个数
19     with open(file_name,w,encoding=utf-8) as f:
20         for num in num_list:
21             url_1 = https://movie.douban.com/j/chart/top_list?type=22&interval_id=100%3A90&action=&start=
22             url = url_1 + str(num) + &limit=20#每一页的url
23             response = requests.get(url=url,headers=headers)
24             r = response.text
25             response_list = json.loads(r)
26             for item in response_list:
27                 rating = eval(item.get(rating)[0])
28                 url = item.get(url)
29                 title = item.get(title)
30                 f.write(str(index)+:+title+,+str(rating)+,+url+\n)
31                 index += 1
32 
33 if __name__ == __main__:
34     write_films(movie.txt)

标红部分注意,user-agent对应的value,360极速浏览器的话,可以在地址栏输入about:version,回车,用户代理后面的一长串就是需要填入‘‘里面的内容。

顺便说一下if __name__ == ‘__main__‘,简单的说就是用python解释器运行的时候,它是可以运行里面的代码的,如果是别的文件调用的话,那么后面的内容就不会执行。

另外,如果想要把程序打包成.exe可执行文件的话,需要用到pyinstaller。可以用pip install pyinstall下载。pyinstaller -F hello.py就可以得到一个hello.exe了。

需要说明的是,.exe在别的电脑上运行的时候对操作系统是由要求的,如果你的exe是在win10 64位的机子上打包,那么在win7 32位就不能运行。

第三篇 - 爬取豆瓣电影网

原文:https://www.cnblogs.com/smart-zihan/p/9484504.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!