'''
爬取豆瓣电影信息:
电影名称,电影url,电影导演
电影主演,电影年份,电影类型
电影评分,电影简介,电影评论
'''
爬虫三部曲
import requests
import re
#1.发送请求
def get_page(url):
reponse=requests.get(url)
return reponse
#2.解析数据
def parse_index(html):
movie_list=re.findall('<div class="item">.*?<em class="">(.*?)</em>.*?<a href="(.*?)">.*?<span class="title">(.*?)</span>.*?导演: (.*?)主演: (.*?)<br>(.*?)</p>.*?<span class="rating_num" .*?>(.*?)</span>.*?<span>(.*?)人评价</span>.*?<span class="inq">(.*?)</span>',
html,
re.S)
return movie_list
#3.保存数据
def save_data(movie):
top, m_url, name, daoyan, actor, year_type, point, talk, desc = movie
year_type=year_type.strip('\n')
data = f'''
===============欢迎来到豆瓣电影===============
电影排名:{top}
电影url:{m_url}
电影名称:{name}
电影导演:{daoyan}
电影主演:{actor}
电影类型:{year_type}
电影评分:{point}
电影简介:{desc}
电影评论:{talk}
=================欢迎下次再来==================
\n
\n
'''
print(data)
with open('douban_top250.text','a',encoding='utf-8')as f:
f.write(data)
print(f'电影:{name}写入成功...')
#拼接所有主页
if __name__ == '__main__':
num=0
for line in range(10):
url=f'https://movie.douban.com/top250?start={num}&filter='
num+=25
print(url)
#1.往每个主页发送请求
#2.解析主页获取电影信息
movie_list=parse_index(index_res.text)
#3. 保存数据
for movie in movie_list:
save_data(movie)