作者:国服帅座 经济学在读硕士
公众号:统计之家
无论是爬取静态网页,还是利用高德地图API获得数据,本文作者都偏好使用requests模块。在本文中,本人爬取京东书评,运用的是Scrapy框架。
观察页面结构
首先,在京东上搜索某书,以丘祐玮老师的《数据科学:R语言实现》为例,该书评价页面仅有2页,共计14条评论。
其次,在Chrome中右击“检查”,点击“Network“下的”JS”,寻找到“productPageComments”。
然后,双击该链接,观察页面发现,这是JSON字符串,在转化为 Python 字典前,需要先把大括号外面的多余字符串去除。
爬取京东书评
在命令提示符中输入以下代码,先创建一个目录(jingdong),然后进入该目录,在该目录的spiders目录中生成爬虫文件(pinglun.py)。
打开pinglun.py文件,输入以下代码:
# -*- coding: utf-8 -*-
import scrapy
import json
class PinglunSpider(scrapy.Spider):
name = 'pinglun'
allowed_domains = ['web']
start_urls = ['https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv27
&productId=12088321&score=0&sortType=5&page={}&pageSize=10&isShadowSku=0&fold=1'.format(i) for i in range(0,2)]
# 上步在page参数位置使用for循环,取值与评论页数有关
def parse(self, response):
jd = json.loads(response.text.lstrip('fetchJSON_comment98vv27(').rstrip(');'))
pinglun = jd['comments'] # 上步将JSON字符串转化为Python字典格式
for i in pinglun:
results = {}
results['content'] = i['content'] # 评论内容
results['time'] = i['creationTime'] # 评论时间
print (results)
接着,在命令提示符中输入以下命令:
获得结果如下,合计14条评论。
往期精彩传送
本文由国服帅座 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。
以上所述就是小编给大家介绍的《Scrapy爬取京东某书评论》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
计算机科学概论(第11版)
J. Glenn Brookshear / 刘艺、肖成海、马小会、毛倩倩 / 人民邮电出版社 / 2011-10-1 / 69.00元
本书多年来一直深受世界各国高校师生的欢迎,是美国哈佛大学、麻省理工学院、普林斯顿大学、加州大学伯克利分校等许多著名大学的首选教材,对我国的高校教学也产生了广泛影响。 本 书以历史眼光,从发展的角度、当前的水平以及现阶段的研究方向等几个方面,全景式描绘了计算机科学各个子学科的主要领域。在内容编排上,本书很好地兼顾了 学科广度和主题深度,把握了最新的技术趋势。本书用算法、数据抽象等核心思想贯穿各......一起来看看 《计算机科学概论(第11版)》 这本书的介绍吧!