一
requests请求库爬取豆瓣电影信息
-请求url
https://movie.douban.com/top250
-请求方式
GET
-请求头
user-agent
cookies
源代码
import requests
import re
# 获取url
def get_page(url):
response = requests.get(url)
return response
# 获取正则后的标签 re.S是匹配所有的字符包括空格
def parse_index(html):
# 使用re正则匹配出图片地址、评分、评论人数
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
# 文本模式实现数据持久化
def save_data(movie):
top,m_url,name,daoyan,actor,year_type,point,commit,desc=movie
year_type=year_type.strip('\n')
data = f'''
=======欢迎官人观赏==========
电影排名:{top}
电影url:{m_url}
电影名称:{name}
电影导演:{daoyan}
电影主演:{actor}
年份类型:{year_type}
电影评分:{point}
电影评论:{commit}
电影简介:{desc}
=============================
'''
print(data)
with open('douban_top250.txt', '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}s&filter='
num+= 25
# 爬虫三部曲
# 1.爬取资源
# "https://movie.douban.com/top250"
res = get_page(url)
# 2.解析资源
movie_list = parse_index(res.text)
# 3.数据持久化
for movie in movie_list:
save_data(movie)