python scrapy爬取全部豆瓣电影(可能是54万数据)
发布日期:2021-06-28 19:08:20
浏览次数:2
分类:技术文章
本文共 2548 字,大约阅读时间需要 8 分钟。
(一)爬取环境
- win10
- python3
- scrapy
(二)豆瓣电影参考标准
主要参考来自神箭手的云市场
(三)爬取步骤
全部电影地址:
主要爬取的字段有:标题,得分,封面url,简介,全部评论
采用scrapy、ip代理池、ua次进行内容爬取
# -*- coding: utf-8 -*-# @Time : 2018/7/22 14:45# @Author : 蛇崽# @Email : 643435675@QQ.com# @File : doubanmoviespider.py(豆瓣电影)import jsonimport scrapyfrom bs4 import BeautifulSoupclass DouBanSpider(scrapy.Spider): name = 'adouban_spider' start_urls = ['https://movie.douban.com/tag/#/'] allowed_domains = ['movie.douban.com'] def parse(self,response): for count in range(0,27002,20): fir_url = 'https://movie.douban.com/j/new_search_subjects?sort=T&range=0,10&tags=&start={}'.format(count) yield scrapy.Request( fir_url, callback=self.parse_main ) def parse_main(self,response): infos = json.loads(response.body.decode('utf-8')) '名称 封面图片 简介 评分 短评top100' print(infos) datas = infos['data'] for data in datas: title = data['title'] # 名称 cover = data['cover'] # 封面图片 rate = data['rate'] # 评分 url = data['url'] # 详情url id = str(data['id']) if url: print(title,cover,rate,url) yield scrapy.Request(url,callback=self.parse_detail,meta={ 'id':id}) def parse_detail(self,response): strid = response.meta['id'] base_url = 'https://movie.douban.com/subject/{}/comments?'.format(strid) # 全部评论的链接 b_url = 'https://movie.douban.com/subject/{}/comments?status=P'.format(strid) # 前一百条评论 n_url = 'https://movie.douban.com/subject/4920528/comments?start=0&limit=20&sort=new_score&status=P' for page in range(0,100,20): n_url = base_url+'start={}&limit=20&sort=new_score&status=P'.format(page) print('n_url################# ',n_url) if n_url: yield scrapy.Request(b_url,callback=self.parse_comment) soup = BeautifulSoup(response.body, 'lxml') # 简介(先隐藏后不隐藏的) try: abstract = soup.find('span', class_='all hidden').get_text() except: abstract = soup.find('span',attrs={ 'property':'v:summary'}).get_text() pass # print('abstract -------- ',abstract) def parse_comment(self,response): soup = BeautifulSoup(response.body,'lxml') shorts = soup.find_all('span',class_='short') for short in shorts: print('short ============= ',short.get_text())
个人微信:hll643435675(备注:博客)
更多资源请访问:
欢迎光临我的小网站:
陆续优化中,后续会开发更多更好玩的有趣的小工具
转载地址:https://blog.csdn.net/xudailong_blog/article/details/81177437 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月03日 04时20分21秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
大牛手把手带你!2021年Android进阶者的新篇章,完整PDF
2019-04-29
太牛了!Android程序员最大的悲哀是什么?面试真题解析
2019-04-29
作为字节跳动面试官,BAT这种大厂履历意味着什么?赶快收藏备战金九银十!
2019-04-29
大牛深入讲解!Android面试中常问的MMAP到底是啥东东?再不刷题就晚了!
2019-04-29
太赞了!你会的还只有初级安卓工程师的技术吗?3面直接拿到offer
2019-04-29
深入解析Android-AutoLayout,全网疯传
2019-04-29
深入解析android核心组件和应用框架,最全Android知识总结
2019-04-29
深入解析android核心组件和应用框架,社招面试心得
2019-04-29
深度解析跳槽从开始到结束完整流程,持续更新中
2019-04-29
深度解析跳槽从开始到结束完整流程,面试真题解析
2019-04-29
hashmap扩容过程,字节大神强推千页PDF学习笔记,经典好文
2019-04-29
kotlin面试题!Android大厂高频面试题解析,薪资翻倍
2019-04-29
kotlin面试题!一口气拿了9家公司的offer,已拿offer入职
2019-04-29
retrofit优点,互联网寒冬公司倒闭后,年薪50W
2019-04-29
retrofit原理面试,Android性能优化最佳实践,面试必备
2019-04-29
【工作感悟】Android多进程从头讲到尾,offer拿到手软
2019-04-29
【微信小程序】面试一路绿灯Offer拿到手软,好文推荐
2019-04-29
Android之内存泄漏调试学习与总结,分享PDF高清版
2019-04-29
事件分发机制怎么回答,Android开发究竟该如何学习,使用指南
2019-04-29
python3 语法注意
2019-04-29