python3-豆瓣电影数据爬取

tech2023-09-21  91

python3.7爬取豆瓣电影实操 话不多说 上代码

抓包页面:

from urllib import request import requests import json #构建爬虫类 class DoubanSpider: def __init__(self): self.templete_url = "https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start={}" #抓包 豆瓣电影url 分析headers 参数 self.total = 1000 #暂时抓取1000条数据 # 处理内容 获取相要的内容 def get_content_list(self, dict_str): return dict_str['subjects'] # 保存内容 将数据写入文本 并保存相应缩略图 def save_content_list(self, content_list): with open("douban_movie.text", "a") as f: for content in content_list: request.urlretrieve(content['cover'],'doubancover/%s.jpg' % content['title']) f.write(json.dumps( "评分:" + content['rate'] + " 名称:" + content['title'] + " 地址:" + content['url'] + " 缩略图:" + content[ 'cover'], ensure_ascii=False)) f.write("\n") print('保存成功') # 发送请求获得数据 def parse_url(self, url): headers = { "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36", "referer": "https://movie.douban.com/explore", } response = requests.get(url, headers=headers) json_str = response.content.decode() dict_str = json.loads(json_str) return dict_str # 主方法 实现主要逻辑 def run(self): num = 0 total = self.total while num <= total: # 1 获取基础url url = self.templete_url.format(num) print(url) # 2 发送请求 获取相应 dict_str = self.parse_url(url) # 3 数据处理 content_list = self.get_content_list(dict_str) # print(content_list) # 4 数据保存 self.save_content_list(content_list) # 5 构造下一页的url地址 num += 20 if __name__ == '__main__': DoubanSpider().run()

最后运行效果 视频展示:

python3-豆瓣电影爬虫1

最新回复(0)