1 '''
2 主页:3 https://movie.douban.com/top2504 GET5 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.366
7 re正则:8 # PS: 电影详情页url、图片链接、电影名称、导演、主演、电影上映时间、电影评分、评价人数、简介9
(.*?).*?content="(.*?)"> (.*?)人评价.*?(.*?)10 '''
11 '''
12 每一页URL:13 第一页:https://movie.douban.com/top25014 第二页:https://movie.douban.com/top250?start=25&filter=15 第三页:https://movie.douban.com/top250?start=50&filter=16 .....17 第九页:https://movie.douban.com/top250?start=200&filter=18 第十页:https://movie.douban.com/top250?start=225&filter=19 '''
20
21 importrequests22 importre23 #请求头
24 headers={25 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36'
26 }27
28 base_url='https://movie.douban.com/top250?start={}&filter='
29 num=030 for i in range(10):31 url=base_url.format(i)32 num+=25
33 print(url)34
35 #1、往豆瓣发送请求
36 response=requests.get(url,headers=headers)37
38 #2、通过正则解析提取数据
39 #PS: 电影详情页url、图片链接、电影名称、导演、主演、电影上映时间、电影评分、评价人数、简介
40 movie_content_list=re.findall('
(.*?).*? .*? (.*?)人评价.*?(.*?)',41 response.text,re.S)42 #解压赋值每一部电影
43 for move_content inmovie_content_list:44 detail_url,image_url,movie_name,acters,movie_time,movie_grade,number,content=move_content45 detail_data=f'电影url:{detail_url}, 图片链接:{image_url}, 电影名称:{movie_name}, 导演和主演:{acters},电影上映时间:{movie_time},电影评分:{movie_grade},评价人数:{number},简介:{content} '
46 print(detail_data)47
48 #保存数据
49 with open('douban.txt','a',encoding='utf-8')as f:50 f.write(detail_data)