1. 海王评论数据爬取前分析

海王上映了,然后口碑炸了,对咱来说,多了一个可爬可分析的电影,美哉~

摘录一个评论

零点场刚看完,温导的电影一直很不错,无论是速7,电锯惊魂还是招魂都很棒。打斗和音效方面没话说非常棒,特别震撼。总之,DC扳回一分( ̄▽ ̄)。比正义联盟好的不止一点半点(我个人感觉)。还有艾梅伯希尔德是真的漂亮,温导选的人都很棒。
真的第一次看到这么牛逼的电影 转场特效都吊炸天

2. 海王案例开始爬取数据

数据爬取的依旧是猫眼的评论,这部分内容咱们用把牛刀,scrapy爬取,一般情况下,用一下requests就好了

抓取地址、交流群:1029344413 分享视频资料

  1. http://m.maoyan.com/mmdb/comments/movie/249342.json?_v_=yes&offset=15&startTime=2018-12-11%2009%3A58%3A43

关键参数

  1. url:http://m.maoyan.com/mmdb/comments/movie/249342.json
  2. offset:15
  3. startTime:起始时间

scrapy 爬取猫眼代码特别简单,我分开几个py文件即可。Haiwang.py

 

  1. import scrapy
  2. import json
  3. from haiwang.items import HaiwangItem
  4.  
  5. class HaiwangSpider(scrapy.Spider):
  6. name = 'Haiwang'
  7. allowed_domains = ['m.maoyan.com']
  8. start_urls = ['http://m.maoyan.com/mmdb/comments/movie/249342.json?_v_=yes&offset=0&startTime=0']
  9.  
  10. def parse(self, response):
  11. print(response.url)
  12. body_data = response.body_as_unicode()
  13.  
  14. js_data = json.loads(body_data)
  15. item = HaiwangItem()
  16. for info in js_data["cmts"]:
  17.  
  18. item["nickName"] = info["nickName"]
  19. item["cityName"] = info["cityName"] if "cityName" in info else ""
  20. item["content"] = info["content"]
  21. item["score"] = info["score"]
  22. item["startTime"] = info["startTime"]
  23. item["approve"] = info["approve"]
  24. item["reply"] = info["reply"]
  25. item["avatarurl"] = info["avatarurl"]
  26.  
  27. yield item
  28.  
  29. 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

  1. DEFAULT_REQUEST_HEADERS = {
  2. "Referer":"http://m.maoyan.com/movie/249342/comments?_v_=yes",
  3. "User-Agent":"Mozilla/5.0 Chrome/63.0.3239.26 Mobile Safari/537.36",
  4. "X-Requested-With":"superagent"
  5. }

需要配置一些抓取条件

  1. # Obey robots.txt rules
  2. ROBOTSTXT_OBEY = False
  3. # See also autothrottle settings and docs
  4. DOWNLOAD_DELAY = 1
  5. # Disable cookies (enabled by default)
  6. COOKIES_ENABLED = False

开启管道

  1. # Configure item pipelines
  2. # See https://doc.scrapy.org/en/latest/topics/item-pipeline.html
  3. ITEM_PIPELINES = {
  4. 'haiwang.pipelines.HaiwangPipeline': 300,
  5. }

items.py
获取你想要的数据

  1. import scrapy
  2.  
  3. class HaiwangItem(scrapy.Item):
  4. # define the fields for your item here like:
  5. # name = scrapy.Field()
  6. nickName = scrapy.Field()
  7. cityName = scrapy.Field()
  8. content = scrapy.Field()
  9. score = scrapy.Field()
  10. startTime = scrapy.Field()
  11. approve = scrapy.Field()
  12. reply =scrapy.Field()
  13. avatarurl = scrapy.Field()

pipelines.py
保存数据,数据存储到csv文件中

  1. import os
  2. import csv
  3.  
  4. class HaiwangPipeline(object):
  5. def __init__(self):
  6. store_file = os.path.dirname(__file__) + '/spiders/haiwang.csv'
  7. self.file = open(store_file, "a+", newline="", encoding="utf-8")
  8. self.writer = csv.writer(self.file)
  9.  
  10. def process_item(self, item, spider):
  11. try:
  12. self.writer.writerow((
  13. item["nickName"],
  14. item["cityName"],
  15. item["content"],
  16. item["approve"],
  17. item["reply"],
  18. item["startTime"],
  19. item["avatarurl"],
  20. item["score"]
  21. ))
  22.  
  23. except Exception as e:
  24. print(e.args)
  25.  
  26. def close_spider(self, spider):
  27. self.file.close()

begin.py
编写运行脚本

  1. from scrapy import cmdline
  2. cmdline.execute(("scrapy crawl Haiwang").split())

搞定,等着数据来到,就可以了

Python爬虫入门教程 33-100 电影评论数据抓取 scrapy的更多相关文章

  1. Python爬虫入门教程 31-100 36氪(36kr)数据抓取 scrapy

    1. 36氪(36kr)数据----写在前面 今天抓取一个新闻媒体,36kr的文章内容,也是为后面的数据分析做相应的准备的,预计在12月底,爬虫大概写到50篇案例的时刻,将会迎来一个新的内容,系统的数 ...

  2. Python爬虫入门教程 30-100 高考派大学数据抓取 scrapy

    1. 高考派大学数据----写在前面 终于写到了scrapy爬虫框架了,这个框架可以说是python爬虫框架里面出镜率最高的一个了,我们接下来重点研究一下它的使用规则. 安装过程自己百度一下,就能找到 ...

  3. Python爬虫入门教程石家庄链家租房数据抓取

    1. 写在前面 这篇博客爬取了链家网的租房信息,爬取到的数据在后面的博客中可以作为一些数据分析的素材.我们需要爬取的网址为:https://sjz.lianjia.com/zufang/ 2. 分析网 ...

  4. Python爬虫入门教程 22-100 CSDN学院课程数据抓取

    1. CSDN学院课程数据-写在前面 今天又要抓取一个网站了,选择恐惧症使得我不知道该拿谁下手,找来找去,算了,还是抓取CSDN学院吧,CSDN学院的网站为 https://edu.csdn.net/ ...

  5. Python爬虫入门教程 20-100 慕课网免费课程抓取

    写在前面 美好的一天又开始了,今天咱继续爬取IT在线教育类网站,慕课网,这个平台的数据量并不是很多,所以爬取起来还是比较简单的 准备爬取 打开我们要爬取的页面,寻找分页点和查看是否是异步加载的数据. ...

  6. Python爬虫入门教程 3-100 美空网数据爬取

    美空网数据----简介 从今天开始,我们尝试用2篇博客的内容量,搞定一个网站叫做"美空网"网址为:http://www.moko.cc/, 这个网站我分析了一下,我们要爬取的图片在 ...

  7. Python爬虫入门教程 33-100 《海王》评论数据抓取 scrapy

    1. 海王评论数据爬取前分析 海王上映了,然后口碑炸了,对咱来说,多了一个可爬可分析的电影,美哉~ 摘录一个评论 零点场刚看完,温导的电影一直很不错,无论是速7,电锯惊魂还是招魂都很棒.打斗和音效方面 ...

  8. Python爬虫入门教程 32-100 B站博人传评论数据抓取 scrapy

    1. B站博人传评论数据爬取简介 今天想了半天不知道抓啥,去B站看跳舞的小姐姐,忽然看到了评论,那就抓取一下B站的评论数据,视频动画那么多,也不知道抓取哪个,选了一个博人传跟火影相关的,抓取看看.网址 ...

  9. Python爬虫入门教程 12-100 半次元COS图爬取

    半次元COS图爬取-写在前面 今天在浏览网站的时候,忽然一个莫名的链接指引着我跳转到了半次元网站 https://bcy.net/ 打开之后,发现也没有什么有意思的内容,职业的敏感让我瞬间联想到了 c ...

随机推荐

  1. Python--day62--编辑出版社功能

    1,Django项目主要用到的文件

  2. Python--day43--补充之主键和外键

    主键只有一个,但是可以用两列不为空的值组成:

  3. 【codeforces 789A】Anastasia and pebbles

    [题目链接]:http://codeforces.com/contest/789/problem/A [题意] 有n种物品,每种物品有wi个; 你有两个口袋,每个口袋最多装k个物品; 且口袋里面只能装 ...

  4. tensorflow在文本处理中的使用——TF-IDF算法

    代码来源于:tensorflow机器学习实战指南(曾益强 译,2017年9月)——第七章:自然语言处理 代码地址:https://github.com/nfmcclure/tensorflow-coo ...

  5. POJ 3660 Cow Contest(floyed运用)

    Description N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming con ...

  6. 手把手教你用ngrx管理Angular状态

    本文将与你一起探讨如何用不可变数据储存的方式进行Angular应用的状态管理 :ngrx/store——Angular的响应式Redux.本文将会完成一个小型简单的Angular应用,最终代码可以在这 ...

  7. HDU3669 Aragorn's Story 树链剖分 点权

    HDU3669 Aragorn's Story 树链剖分 点权 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3966 题意: n个点的,m条边,每个点都 ...

  8. JLINK、ULINK和STlink仿真器详解

    JLink仿真器 德国SEGGER公司推出基于JTAG的仿真器.简单地说,是给一个JTAG协议转换盒,即一个小型USB到JTAG的转换盒,其连接到计算机用的是USB接口,而到目标板内部用的还是jtag ...

  9. npm安装cnpm

    获取npm缓存路径: npm config get cache 离线安装 npm install --cache ./npm-cache --optional --cache-min 99999999 ...

  10. 谷歌浏览器不能播放audio 报错Uncaught (in promise) DOMException

    在2018年4月份发布的Chrome 66正式关掉了声音自动播放,也就是说<audio autopaly></audio> <video autoplay>< ...