Python爬虫抓取京东评论生成Excel表格(附源码)

news/2024/12/23 7:21:34/

废话不多说直接开始
image

爬取京东单页评论

一、找到商品评论

二、检查网页源代码

搜索发现并没有想要内容

打开开发者工具查看抓取到的内容发现有评论内容,我们就可以对请url地址发送请求来获取数据
image.png

三、开始编写程序

代码

import requests
import re
headers = {'Connection': 'keep-alive','sec-ch-ua': '" Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"','sec-ch-ua-mobile': '?0','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36','Accept': '*/*','Sec-Fetch-Site': 'same-site','Sec-Fetch-Mode': 'no-cors','Sec-Fetch-Dest': 'script','Referer': 'https://item.jd.com/','Accept-Language': 'zh-CN,zh;q=0.9',
}
cookies = {'__jdu': '1140149181','shshshfpb': 'dxvAdGKVNzAegFZ04SPRPjw%3D%3D','shshshfpa': '551d8e1b-9679-a2a9-4853-c893fad3a0c2-1588218470','areaId': '13','ipLoc-djd': '13-1042-3528-0','unpl': 'V2_ZzNtbRBTFkYhDBZQeB4PBmIDEFwSXhYWcQERBykfWVFkBEcJclRCFnUUR1NnGFkUZwsZX0RcQBxFCEdkeBBVAWMDE1VGZxBFLV0CFSNGF1wjU00zQwBBQHcJFF0uSgwDYgcaDhFTQEJ2XBVQL0oMDDdRFAhyZ0AVRQhHZHsZWQRnBhpdS1dzJXI4dmR4HVsHZgIiXHJWc1chVERTcx1bACoDElhDV0YddQFGZHopXw%3d%3d','__jdv': '76161171|baidu-pinzhuan|t_288551095_baidupinzhuan|cpc|0f3d30c8dba7459bb52f2eb5eba8ac7d_0_c5dbe5a526b24130a8d258fbc74e26de|1622806649582','__jda': '122270672.1140149181.1607922153.1622723717.1622806650.7','__jdc': '122270672','_gcl_au': '1.1.1090722577.1622806657','shshshfp': '2642ee3c640efeb0e9447e6545757fca','__jdb': '122270672.5.1140149181|7.1622806650','shshshsID': '3742c97b007a5cf7adaa9cff4323c957_3_1622806689501','JSESSIONID': '81C1CD5FA9D0F18E7FFADD802EC34264.s1','jwotest_product': '99','3AB9D23F7A4B3C9B': '6NAODRKK6T33JSTFT3NYNWJAJQ2BCPHUZTUM73ZFAJPIMAS44RCYDE4BC6G7LRUPAWKISABMYIUWYB2LIDAMRKRPVU',
}
url="https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100020318814&score=0&sortType=5&page=2&pageSize=10&isShadowSku=0&rid=0&fold=1"
response = requests.get(url=url, headers=headers,cookies=cookies).text
res='"content":"(.*?)"'
content=re.findall(res,response)
for index,i in enumerate(content):print("第{}条评论:".format(index+1)+i+"\n")

运行结果

京东多页评论爬取

通过前三页url地址比对可以发现只有page的值有变化,所以我们可以用列表推导式来获取前10页url依次发送请求来实现多页爬取

def url_list():url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100020318814&score=0&sortType=5&page={}&pageSize=10&isShadowSku=0&rid=0&fold=1"url_list=[url.format(i) for i in range(1,11)]return url_list

编写程序

代码

import requests
import re
def url_list():url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100020318814&score=0&sortType=5&page={}&pageSize=10&isShadowSku=0&rid=0&fold=1"url_list=[url.format(i) for i in range(1,11)]return url_list
def url_parse(list):index = 1for url in list:headers = {'Connection': 'keep-alive','sec-ch-ua': '" Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"','sec-ch-ua-mobile': '?0','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36','Accept': '*/*','Sec-Fetch-Site': 'same-site','Sec-Fetch-Mode': 'no-cors','Sec-Fetch-Dest': 'script','Referer': 'https://item.jd.com/','Accept-Language': 'zh-CN,zh;q=0.9',}cookies = {'__jdu': '1140149181','shshshfpb': 'dxvAdGKVNzAegFZ04SPRPjw%3D%3D','shshshfpa': '551d8e1b-9679-a2a9-4853-c893fad3a0c2-1588218470','areaId': '13','ipLoc-djd': '13-1042-3528-0','unpl': 'V2_ZzNtbRBTFkYhDBZQeB4PBmIDEFwSXhYWcQERBykfWVFkBEcJclRCFnUUR1NnGFkUZwsZX0RcQBxFCEdkeBBVAWMDE1VGZxBFLV0CFSNGF1wjU00zQwBBQHcJFF0uSgwDYgcaDhFTQEJ2XBVQL0oMDDdRFAhyZ0AVRQhHZHsZWQRnBhpdS1dzJXI4dmR4HVsHZgIiXHJWc1chVERTcx1bACoDElhDV0YddQFGZHopXw%3d%3d','__jdv': '76161171|baidu-pinzhuan|t_288551095_baidupinzhuan|cpc|0f3d30c8dba7459bb52f2eb5eba8ac7d_0_c5dbe5a526b24130a8d258fbc74e26de|1622806649582','__jda': '122270672.1140149181.1607922153.1622723717.1622806650.7','__jdc': '122270672','_gcl_au': '1.1.1090722577.1622806657','shshshfp': '2642ee3c640efeb0e9447e6545757fca','__jdb': '122270672.5.1140149181|7.1622806650','shshshsID': '3742c97b007a5cf7adaa9cff4323c957_3_1622806689501','JSESSIONID': '81C1CD5FA9D0F18E7FFADD802EC34264.s1','jwotest_product': '99','3AB9D23F7A4B3C9B': '6NAODRKK6T33JSTFT3NYNWJAJQ2BCPHUZTUM73ZFAJPIMAS44RCYDE4BC6G7LRUPAWKISABMYIUWYB2LIDAMRKRPVU',}response = requests.get(url=url, headers=headers, cookies=cookies).textres = '"content":"(.*?)"'content = re.findall(res, response)for i in content:print(f"第{index}条评论:"+ i + "\n")index+=1
if __name__ == '__main__':list=url_list()url_parse(list)

运行结果

爬取京东多页评论生成excel表格

前面我们实现了爬取京东多页评论的功能,现在只要利用Pandas生成excel就可以

def excel(i,c,t):x=pd.DataFrame()x["时间"]=t                                     //t,i,c类型为列表x["ID"]=ix["评论内容"]=cx.to_excel("./京东评论.xlsx")

代码

import requests
import re
import pandas as pd
def url_list():url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100020318814&score=0&sortType=5&page={}&pageSize=10&isShadowSku=0&rid=0&fold=1"url_list=[url.format(i) for i in range(1,11)]return url_list
def url_parse(list):index = 1id_list = []content_list=[]time_list=[]for url in list:headers = {'Connection': 'keep-alive','sec-ch-ua': '" Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"','sec-ch-ua-mobile': '?0','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36','Accept': '*/*','Sec-Fetch-Site': 'same-site','Sec-Fetch-Mode': 'no-cors','Sec-Fetch-Dest': 'script','Referer': 'https://item.jd.com/','Accept-Language': 'zh-CN,zh;q=0.9',}cookies = {'__jdu': '1140149181','shshshfpb': 'dxvAdGKVNzAegFZ04SPRPjw%3D%3D','shshshfpa': '551d8e1b-9679-a2a9-4853-c893fad3a0c2-1588218470','areaId': '13','ipLoc-djd': '13-1042-3528-0','unpl': 'V2_ZzNtbRBTFkYhDBZQeB4PBmIDEFwSXhYWcQERBykfWVFkBEcJclRCFnUUR1NnGFkUZwsZX0RcQBxFCEdkeBBVAWMDE1VGZxBFLV0CFSNGF1wjU00zQwBBQHcJFF0uSgwDYgcaDhFTQEJ2XBVQL0oMDDdRFAhyZ0AVRQhHZHsZWQRnBhpdS1dzJXI4dmR4HVsHZgIiXHJWc1chVERTcx1bACoDElhDV0YddQFGZHopXw%3d%3d','__jdv': '76161171|baidu-pinzhuan|t_288551095_baidupinzhuan|cpc|0f3d30c8dba7459bb52f2eb5eba8ac7d_0_c5dbe5a526b24130a8d258fbc74e26de|1622806649582','__jda': '122270672.1140149181.1607922153.1622723717.1622806650.7','__jdc': '122270672','_gcl_au': '1.1.1090722577.1622806657','shshshfp': '2642ee3c640efeb0e9447e6545757fca','__jdb': '122270672.5.1140149181|7.1622806650','shshshsID': '3742c97b007a5cf7adaa9cff4323c957_3_1622806689501','JSESSIONID': '81C1CD5FA9D0F18E7FFADD802EC34264.s1','jwotest_product': '99','3AB9D23F7A4B3C9B': '6NAODRKK6T33JSTFT3NYNWJAJQ2BCPHUZTUM73ZFAJPIMAS44RCYDE4BC6G7LRUPAWKISABMYIUWYB2LIDAMRKRPVU',}response = requests.get(url=url, headers=headers, cookies=cookies).textres_content = '"content":"(.*?)"'res_id = '"guid":"(.*?)"'res_time='"creationTime":"(.*?)"'content = re.findall(res_content, response)id= re.findall(res_id, response)time = re.findall(res_time, response)for i,c,t  in zip(id,content,time):id_list.append(i)content_list.append(c)time_list.append(t)print(id_list,content_list,time_list)return id_list,content_list,time_list
def excel(i,c,t):x=pd.DataFrame()x["时间"]=tx["ID"]=ix["评论内容"]=cx.to_excel("./京东评论.xlsx")if __name__ == '__main__':list=url_list()i,c,t=url_parse(list)excel(i,c,t)

http://www.ppmy.cn/news/353615.html

相关文章

【幻彩灯LED3528】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 最近的项目接触到了LED3528,它采用的是单总线通信方式,对于GP…

贴片电容耐压值一般都是多少?

市面上基本都是50V,但是也有例外。建议和商家或者是供应商咨询一下。 耐压值与体积容量的大概的关系是:体积容量x耐压值 贴片电容:可分为无极性和有极性两类 无极性电容下述两类封装最为常见,即0805、0603;而有极性电…

[loj3528] [IOI2021] 位移寄存器 - 交互(提答?) - 高精度 - 并行计算 - 排序算法

orz dls AK IOI2021 传送门:https://loj.ac/p/3528 Warning: 此题非常有(du)趣(liu) 题目大意:你有 个长度为 位的寄存器,一开始 号寄存器里存了 个 位的数,你要通过寄存器的复…

电阻电容封装选择以及电路接地问题

电阻电容封装选择 电路里常用电阻电容封装: 电容: 0.01uF可能的封装有0603、0805 10uF的封装有3216、3528、0805 100uF的有7343 320pF封装:0603或0805 电阻: 4.7K、10k、330、33既有0603又有0805封装。 1.怎么选择这些封装? 答&…

【计算机三级】网路技术学习笔记 第六章 交换机及其配置

计算机三级网络技术 六、交换机及其配置 考点(一):交换机的基本概念 1.基本概念 局域网交换机是一种基于 MAC地址识别,完成转发数据帧功能的一种网络连接设备。他工作在数据链路层,根据进入端口数据帧中的MAC地址&…

西班牙馅饼 ECNU3528 java

3528. 西班牙馅饼 题面统计数据1 个讨论 单点时限: 1.0 sec 内存限制: 256 MB 港岛妹妹,你献给我的西班牙馅饼 甜蜜地融化了我,天空之城在哭泣 港岛妹妹,我们曾拥有的甜蜜的爱情 疯狂地撕裂了我,天空之城在哭泣 ——李志《天空…

浪涌(二)雷击浪涌的防护

雷击浪涌的防护 1、电子设备雷击浪涌抗扰度试验标准 电子设备雷击浪涌抗扰度试验的国家标准为GB/T17626.5(等同于国际标准IEC61000-4-5 )。 标准可以再www.hw100k.com网站 可靠性板块 进行下载: http://www.hw100k.com/forum.php?modview…

【考前冲刺】计算机三级网络技术之综合题-交换机配置

【考前冲刺】计算机三级网络技术之综合题-交换机配置 VLAN的建立与删除分配交换机端口到VLAN中VLAN Trunk的配置VTP配置 知识点1:VLAN的建立与删除 知识点2:分配交换机端口到VLAN中 知识点3:VLAN Trunk的配置 知识点4:VTP配置 VLA…