Python爬虫入门教程 33-100 电影评论数据抓取 scrapy
1. 海王评论数据爬取前分析
海王上映了,然后口碑炸了,对咱来说,多了一个可爬可分析的电影,美哉~
摘录一个评论
零点场刚看完,温导的电影一直很不错,无论是速7,电锯惊魂还是招魂都很棒。打斗和音效方面没话说非常棒,特别震撼。总之,DC扳回一分( ̄▽ ̄)。比正义联盟好的不止一点半点(我个人感觉)。还有艾梅伯希尔德是真的漂亮,温导选的人都很棒。
真的第一次看到这么牛逼的电影 转场特效都吊炸天
2. 海王案例开始爬取数据
数据爬取的依旧是猫眼的评论,这部分内容咱们用把牛刀,scrapy
爬取,一般情况下,用一下requests
就好了
抓取地址、交流群:1029344413 分享视频资料
- http://m.maoyan.com/mmdb/comments/movie/249342.json?_v_=yes&offset=15&startTime=2018-12-11%2009%3A58%3A43
关键参数
- url:http://m.maoyan.com/mmdb/comments/movie/249342.json
- offset:15
- startTime:起始时间
scrapy 爬取猫眼代码特别简单,我分开几个py文件即可。Haiwang.py
- import scrapy
- import json
- from haiwang.items import HaiwangItem
- class HaiwangSpider(scrapy.Spider):
- name = 'Haiwang'
- allowed_domains = ['m.maoyan.com']
- start_urls = ['http://m.maoyan.com/mmdb/comments/movie/249342.json?_v_=yes&offset=0&startTime=0']
- def parse(self, response):
- print(response.url)
- body_data = response.body_as_unicode()
- js_data = json.loads(body_data)
- item = HaiwangItem()
- for info in js_data["cmts"]:
- item["nickName"] = info["nickName"]
- item["cityName"] = info["cityName"] if "cityName" in info else ""
- item["content"] = info["content"]
- item["score"] = info["score"]
- item["startTime"] = info["startTime"]
- item["approve"] = info["approve"]
- item["reply"] = info["reply"]
- item["avatarurl"] = info["avatarurl"]
- yield item
- yield scrapy.Request("http://m.maoyan.com/mmdb/comments/movie/249342.json?_v_=yes&offset=0&startTime={}".format(item["startTime"]),callback=self.parse)
setting.py
设置需要配置headers
- DEFAULT_REQUEST_HEADERS = {
- "Referer":"http://m.maoyan.com/movie/249342/comments?_v_=yes",
- "User-Agent":"Mozilla/5.0 Chrome/63.0.3239.26 Mobile Safari/537.36",
- "X-Requested-With":"superagent"
- }
需要配置一些抓取条件
- # Obey robots.txt rules
- ROBOTSTXT_OBEY = False
- # See also autothrottle settings and docs
- DOWNLOAD_DELAY = 1
- # Disable cookies (enabled by default)
- COOKIES_ENABLED = False
开启管道
- # Configure item pipelines
- # See https://doc.scrapy.org/en/latest/topics/item-pipeline.html
- ITEM_PIPELINES = {
- 'haiwang.pipelines.HaiwangPipeline': 300,
- }
items.py
获取你想要的数据
- import scrapy
- class HaiwangItem(scrapy.Item):
- # define the fields for your item here like:
- # name = scrapy.Field()
- nickName = scrapy.Field()
- cityName = scrapy.Field()
- content = scrapy.Field()
- score = scrapy.Field()
- startTime = scrapy.Field()
- approve = scrapy.Field()
- reply =scrapy.Field()
- avatarurl = scrapy.Field()
pipelines.py
保存数据,数据存储到csv
文件中
- import os
- import csv
- class HaiwangPipeline(object):
- def __init__(self):
- store_file = os.path.dirname(__file__) + '/spiders/haiwang.csv'
- self.file = open(store_file, "a+", newline="", encoding="utf-8")
- self.writer = csv.writer(self.file)
- def process_item(self, item, spider):
- try:
- self.writer.writerow((
- item["nickName"],
- item["cityName"],
- item["content"],
- item["approve"],
- item["reply"],
- item["startTime"],
- item["avatarurl"],
- item["score"]
- ))
- except Exception as e:
- print(e.args)
- def close_spider(self, spider):
- self.file.close()
begin.py
编写运行脚本
- from scrapy import cmdline
- cmdline.execute(("scrapy crawl Haiwang").split())
搞定,等着数据来到,就可以了
Python爬虫入门教程 33-100 电影评论数据抓取 scrapy的更多相关文章
- Python爬虫入门教程 31-100 36氪(36kr)数据抓取 scrapy
1. 36氪(36kr)数据----写在前面 今天抓取一个新闻媒体,36kr的文章内容,也是为后面的数据分析做相应的准备的,预计在12月底,爬虫大概写到50篇案例的时刻,将会迎来一个新的内容,系统的数 ...
- Python爬虫入门教程 30-100 高考派大学数据抓取 scrapy
1. 高考派大学数据----写在前面 终于写到了scrapy爬虫框架了,这个框架可以说是python爬虫框架里面出镜率最高的一个了,我们接下来重点研究一下它的使用规则. 安装过程自己百度一下,就能找到 ...
- Python爬虫入门教程石家庄链家租房数据抓取
1. 写在前面 这篇博客爬取了链家网的租房信息,爬取到的数据在后面的博客中可以作为一些数据分析的素材.我们需要爬取的网址为:https://sjz.lianjia.com/zufang/ 2. 分析网 ...
- Python爬虫入门教程 22-100 CSDN学院课程数据抓取
1. CSDN学院课程数据-写在前面 今天又要抓取一个网站了,选择恐惧症使得我不知道该拿谁下手,找来找去,算了,还是抓取CSDN学院吧,CSDN学院的网站为 https://edu.csdn.net/ ...
- Python爬虫入门教程 20-100 慕课网免费课程抓取
写在前面 美好的一天又开始了,今天咱继续爬取IT在线教育类网站,慕课网,这个平台的数据量并不是很多,所以爬取起来还是比较简单的 准备爬取 打开我们要爬取的页面,寻找分页点和查看是否是异步加载的数据. ...
- Python爬虫入门教程 3-100 美空网数据爬取
美空网数据----简介 从今天开始,我们尝试用2篇博客的内容量,搞定一个网站叫做"美空网"网址为:http://www.moko.cc/, 这个网站我分析了一下,我们要爬取的图片在 ...
- Python爬虫入门教程 33-100 《海王》评论数据抓取 scrapy
1. 海王评论数据爬取前分析 海王上映了,然后口碑炸了,对咱来说,多了一个可爬可分析的电影,美哉~ 摘录一个评论 零点场刚看完,温导的电影一直很不错,无论是速7,电锯惊魂还是招魂都很棒.打斗和音效方面 ...
- Python爬虫入门教程 32-100 B站博人传评论数据抓取 scrapy
1. B站博人传评论数据爬取简介 今天想了半天不知道抓啥,去B站看跳舞的小姐姐,忽然看到了评论,那就抓取一下B站的评论数据,视频动画那么多,也不知道抓取哪个,选了一个博人传跟火影相关的,抓取看看.网址 ...
- Python爬虫入门教程 12-100 半次元COS图爬取
半次元COS图爬取-写在前面 今天在浏览网站的时候,忽然一个莫名的链接指引着我跳转到了半次元网站 https://bcy.net/ 打开之后,发现也没有什么有意思的内容,职业的敏感让我瞬间联想到了 c ...
随机推荐
- Python--day62--编辑出版社功能
1,Django项目主要用到的文件
- Python--day43--补充之主键和外键
主键只有一个,但是可以用两列不为空的值组成:
- 【codeforces 789A】Anastasia and pebbles
[题目链接]:http://codeforces.com/contest/789/problem/A [题意] 有n种物品,每种物品有wi个; 你有两个口袋,每个口袋最多装k个物品; 且口袋里面只能装 ...
- tensorflow在文本处理中的使用——TF-IDF算法
代码来源于:tensorflow机器学习实战指南(曾益强 译,2017年9月)——第七章:自然语言处理 代码地址:https://github.com/nfmcclure/tensorflow-coo ...
- POJ 3660 Cow Contest(floyed运用)
Description N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming con ...
- 手把手教你用ngrx管理Angular状态
本文将与你一起探讨如何用不可变数据储存的方式进行Angular应用的状态管理 :ngrx/store——Angular的响应式Redux.本文将会完成一个小型简单的Angular应用,最终代码可以在这 ...
- HDU3669 Aragorn's Story 树链剖分 点权
HDU3669 Aragorn's Story 树链剖分 点权 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3966 题意: n个点的,m条边,每个点都 ...
- JLINK、ULINK和STlink仿真器详解
JLink仿真器 德国SEGGER公司推出基于JTAG的仿真器.简单地说,是给一个JTAG协议转换盒,即一个小型USB到JTAG的转换盒,其连接到计算机用的是USB接口,而到目标板内部用的还是jtag ...
- npm安装cnpm
获取npm缓存路径: npm config get cache 离线安装 npm install --cache ./npm-cache --optional --cache-min 99999999 ...
- 谷歌浏览器不能播放audio 报错Uncaught (in promise) DOMException
在2018年4月份发布的Chrome 66正式关掉了声音自动播放,也就是说<audio autopaly></audio> <video autoplay>< ...