Python如何运用爬虫爬取京东商品评论

寻找数据真实接口

打开京东商品网址(添加链接描述) 查看商品评价。我们点击评论翻页,发现网址未发生变化,说明该网页是动态网页。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

我们在浏览器右键点击“检查”,,随后点击“Network”,刷新一下,在搜索框中输入”评论“,最终找到网址(url)。我们点击Preview,发现了我们需要找的信息。

请求网页

使用requests请求数据库,请求方法是get
在这里插入图片描述

我们查看Headers发现请求方法为get请求,查看Payload并点击,即为get请求参数,完整代码如下所示。

import requests
import pandas as pd
items=[]
header = {'User-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.1.4031 SLBChan/105'}
url=f'https://api.m.jd.com/?appid=item-v3&functionId=pc_club_productPageComments&client=pc&clientVersion=1.0.0&t=1684832645932&loginType=3&uuid=122270672.2081861737.1683857907.1684829964.1684832583.3&productId=100009464799&score=0&sortType=5&page=1&pageSize=10&isShadowSku=0&rid=0&fold=1&bbtf=1&shield='
response= requests.get(url=url,headers=header)

解析网页

由于网页返回的是json格式数据,获取我们所需要的评论内容、评论时间,我们通过字典访问即可。
在这里插入图片描述

在这里插入图片描述

先嵌入字典解析库,通过访问字典,一层一层将数据提取到一页的部分信息,编辑代码

json=response.json()
data=json['comments']
for t in data:
    content =t['content']
    time    =t['creationTime']

通过循环,爬取所有页面的评论数据

翻页爬取的关键找到真实地址的“翻页”规律

我们分别点击第1页、第2页、第3页,发现不同页码的除了page参数不一致,其余相同。

第1页的“page”是1,第2页的“page”是2,第2页的“page”是2,以此类推。 我们嵌套一个For循环,并通过pandas存储数据。运行代码让其自动爬取其他页面的评论信息,并储存t.xlsx的文件中。 所有代码如下:

import requests
import pandas as pd
items=[]
for i in range(1,20):
    header = {'User-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.1.4031 SLBChan/105'}
    url=f'https://api.m.jd.com/?appid=item-v3&functionId=pc_club_productPageComments&client=pc&clientVersion=1.0.0&t=1684832645932&loginType=3&uuid=122270672.2081861737.1683857907.1684829964.1684832583.3&productId=100009464799&score=0&sortType=5&page={i}&pageSize=10&isShadowSku=0&rid=0&fold=1&bbtf=1&shield='
    response= requests.get(url=url,headers=header)
    json=response.json()
    data=json['comments']
    for t in data:
        content =t['content']
        time    =t['creationTime']
        item=[content,time]
        items.append(item)
df = pd.DataFrame(items,columns=['评论内容','发布时间'])
df.to_excel(r'C:\Users\蓝胖子\Desktop\t.xlsx',encoding='utf_8_sig')

最后,得到爬取的数据结果如下:
在这里插入图片描述

#学习资源推荐

零基础Python学习资源介绍

Python学习路线汇总
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(学习教程文末领取哈)
在这里插入图片描述

Python必备开发工具
在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

Python学习视频600合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

100道Python练习题
检查学习结果。
在这里插入图片描述
面试刷题
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取。

你可能感兴趣的:(python,爬虫,开发语言)