一
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)