环境: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