Python动态爬虫爬取京东商品评论[通俗易懂]

Python动态爬虫爬取京东商品评论[通俗易懂]Python动态爬虫爬取京东商品评论1.概述京东商城是Python爬虫初学者试手的经典平台,反爬虫程度较低,但评论采取了动态加载的方式,爬取京东商品评论是学习动态爬虫的一个极佳方法。动态爬虫,即针对动态加载JSON文件网页的爬虫,其原理与静态爬虫没有本质区别,只是不爬取所见的静态目标网页,而是寻找该网页所加载的JSON文件,爬取JSON文件中的内容。2.目标观察观察京东具体商品评论页面:点击商品评价页:发现商品评价翻页的url不改变,可推测出其采用动态加载的方式,同时,会发现直接获取该

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Python 动态爬虫爬取京东商品评论

1. 概述

京东商城是Python爬虫初学者试手的经典平台,反爬虫程度较低,但评论采取了动态加载的方式,爬取京东商品评论是学习动态爬虫的一个极佳方法。

动态爬虫,即针对动态加载JSON文件网页的爬虫,其原理与静态爬虫没有本质区别,只是不爬取所见的静态目标网页,而是寻找该网页所加载的JSON文件,爬取JSON文件中的内容。

2.目标观察

观察京东具体商品评论页面:

在这里插入图片描述

发现可能是评论内容文件,点击查看,发现确实如此,复制下该文件的url:

从上文中我们获取到了商品评论的动态加载文件的url,接下来我们至需要对该文件进行get爬取即可。

同静态爬虫类似,构造header,输入网址,并使用get进行请求,下载其文本内容。

header = { 
   "user-agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}
url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100021400874&score=0&sortType=5&page=2&pageSize=10&isShadowSku=0&rid=0&fold=1"
time.sleep(random.random())
content = requests.get(url = url,headers = headers).text

然后我们观察get到的content内容,发现并不是静态网页的HTML,而是一种类似于字典的文本内容,这即是JSON文本格式,但京东获取到的JSON文本有干扰,不是一个完全的类似字典类型文本,因此我们需要去除掉花括号前后的无意义字符串:

if content != None:
                content = content.strip('fetchJSON_comment98vv385();')

然后我们使用json模块对其进行解析,并从中提取我们需要的信息:

jbs = json.loads(content)
comments = jbs["comments"]
for comment in comments:
    print(comment["id"],":",comment["content"])

从而我们就得到了京东商品评论。

4. 全部代码:

header = { 
   "user-agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}
url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100021400874&score=0&sortType=5&page=2&pageSize=10&isShadowSku=0&rid=0&fold=1"
time.sleep(random.random())
content = requests.get(url = url,headers = headers).text
if content != None:
                content = content.strip('fetchJSON_comment98vv385();')、
        jbs = json.loads(content)
comments = jbs["comments"]
for comment in comments:
    print(comment["id"],":",comment["content"])
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159486.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux安装svn服务器的两种方式(转载)「建议收藏」

    linux安装svn服务器的两种方式(转载)「建议收藏」操作环境:CentOS7.264位第一种:采用压缩包安装:比如你们公司服务器上安装软件有自己的规定,一般会采用压缩包安装。第一步:SVN服务器端压缩包下载下载地址:http://mirrors.cnnic.cn/apache/subversion/我下载的是subversion-1.8.19版本,下载好的压缩包置于目录/usr/local/java/svn下(根据大家实际需要自行选择存放目录)。第二步:解压,进入解压后的文件在/usr/local/java/svn目录下执行下面两个命令:

    2022年10月17日
    2
  • dos下debug的使用「建议收藏」

    dos下debug的使用「建议收藏」起因:最近学习汇编需要对程序进行调试故作此笔记用法:一、用debug把程序运行起来:1.在dos下进入自己的程序所在目录xxx2.xxx>debugproc.exe把程序执行起来二、常用命令1.-u–查看当前的汇编代码(00FF:00000055)后面可以跟参数查看某段代码2.-t–单步执行

    2022年10月15日
    4
  • 论文写作——origin画图[通俗易懂]

    论文写作——origin画图[通俗易懂]一origin的安装详见下面网址,内涵下载路径和破解方法。http://www.ddooo.com/softdown/51005.htm二origin画图1、柱状图①打开后页面如下所示。A(X)代表X轴的数据,B(Y)代表Y轴的数据。②将数据填入中间的book1中。book的作用和Excel中很类似,我们可以按照自己的需要添加sheet,添加book。我们将…

    2022年4月19日
    75
  • winhex 数据恢复_win10文件恢复软件

    winhex 数据恢复_win10文件恢复软件数据恢复分类:硬恢复和软恢复。所谓硬恢复就是硬盘出现物理性损伤,比如有盘体坏道、电路板芯片烧毁、盘体异响,等故障,由此所导致的普通用户不容易取出里面数据,那么我们将它修好,同时又保留里面的数据或后来恢

    2022年8月5日
    5
  • A 股历年三大财务报表 API 接口「建议收藏」

    A股历年三大财务报表历年所有财报数据,全量A股数据,最全三大财报数据。1.产品功能支持所有A股全量三大财报数据查询;分别包括资产负债表、利润表、现金流量表数据;返回70多项财务指标;多数据源清洗整合,百万级数据毫秒级返回;全接口支持HTTPS(TLSv1.0/v1.1/v1.2/v1.3);全面兼容AppleATS;全国多节点CDN部署;接口极速响应,多台服务器构建API接口负载均衡。2.API文档接口详情:https://www.

    2022年4月17日
    93
  • 信贷风控模型开发—-模型简介

    信贷风控模型开发—-模型简介第一章风控模型简介1.1为什么要建模1.2什么是信用评分1.3常用的模型1.4概念解析:M0,M1,M2的定义下一章预告参考文献第一章风控模型简介本系列文章为笔者对信贷风控领域建模的一些学习研究心得汇总,以及一些代码示例,尽量会将信贷风控领域的一些基本概念阐述明白。1.1为什么要建模金融的所有业务,几乎都是和风险打…

    2022年6月5日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号