爬取京东一万条评论-python
要求: 1 万条以上的京东手机评论爬取(爬取内容为评论 +score)
浏览器部分
为了一次爬取评论更多的手机所以在选取url的时候优先筛选相应品牌评论更多的款,以我爬取的vivo品牌为例:
1.筛选评论
2.选择一款商品后点击对应评论
3.f12键进入调试界面
4.选择js文件格式:因为我们想要获取的评论是保留在JSON格式里面的而不是在url里面,通过检查与ctrl+F就可以发现。
5.分别点击好评、中评、差评,就可以看到分别出现三个JSON格式文件与他们对应
6 以好评对应JSON文件为例,点击第一个:可以看到请求url,问号之前为不带参数的url,问号之后为带参数的,我们如果调params话直接
comment_url = 'https://club.jd.com/comment/productPageComments.action'
7.下滑查看参数值:直接复制过来
params = {'productId': 100022108734, # 商品id,先写死'score': 3,'sortType': 5,'page': page,'pageSize': 10,'callback': 'fetchJSON_comment98','isShadowSku': 0,'fold': 1}
8.编写header:
headers = {'cookie':'shshshfpa=980322f4-0d72-08ea-9cb2-4fcadde80a00-1562576627; shshshfpb=ymAFpsvPn5OjLe2TxXJVyZQ==; __jdu=16150341377512100580391; mt_xid=V2_52007VwMVUllZUF8fSx9aAWcAElNcXFtbHUEZbAYwVhdbDVkCRh9AEFsZYgdBBkEIVw1IVUlbA24KQVEPXFcIGnkaXQZnHxNaQVhbSx5AElgAbAITYl9oUWocSB9UAGIzEVVdXg==; unpl=V2_ZzNtbUBVREUmC0QBfkkMDGJRQlwSV0ATIQFGUnIZCwBnABRYclRCFnUUR1xnGl4UZwYZXEtcQRBFCEdkeBBVAWMDE1VGZxBFLV0CFSNGF1wjU00zQwBBQHcJFF0uSgwDYgcaDhFTQEJ2XBVQL0oMDDdRFAhyZ0AVRQhHZHseXAFmARddQFFFEXULRlV6HVUEZQsSbXJQcyVFDENceRhbNWYzE20AAx8TcwpBVX9UXAJnBxNfR1dBE3MMRld7GF0BbgIQVUJnQiV2; PCSYCityID=CN_110000_110100_110108; user-key=0245721f-bdeb-4f17-9fd2-b5e647ad7f3e; jwotest_product=99; __jdc=122270672; mba_muid=16150341377512100580391; wlfstk_smdl=ey5hfakeb6smwvr1ld305bkzf79ajgrx; areaId=1; ipLoc-djd=1-2800-55811-0; __jdv=122270672|baidu|-|organic|not set|1632740808675; token=48ce2d01d299337c932ec85a1154c65f,2,907080; __tk=vS2xv3k1ush1u3kxvSloXsa0YznovSTFXUawXSawushwXpJyupq0vG,2,907080; shshshfp=3da682e079013c4b17a9db085fb01ea3; shshshsID=2ee3081dbf26e0d2b12dfe9ebf1ac9a8_1_1632744359396; __jda=122270672.16150341377512100580391.1615034138.1632740809.1632744359.28; __jdb=122270672.1.16150341377512100580391|28.1632744359; 3AB9D23F7A4B3C9B=OOGFR7VEBOKC3KPZ6KF3FKUOPTYV2UTP6I26CTJWT6CBR7KDFT6DA7AKGYBOIC5VE3AGWVCO44IPRLJZQM5VPBDKRE; JSESSIONID=82C0F348483686AC9A673E31126675D3.s1','referer': 'https://item.jd.com/','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'}
代码编写部分
1.采用解析方式:re解析(不了解同学可以看b站学习,参考链接:2021年最新Python爬虫教程+实战项目案例(最新录制)_哔哩哔哩_bilibili)
通过带参数的url查看JSON格式
关键代码:
obj1 = re.compile(r'.*?"comments":(?P<coments>.*?)[)];', re.S)obj2 = re.compile(r'.*?"content":"(?P<content>.*?)",".*?"score":(?P<score>.*?),"', re.S)
2.去除评论中的多余字符
dic['content'] = dic['content'].replace('\\n', '').replace('…','') #去掉换行字符存入字典中
3.附上完成参考代码:
import requests
import csv
import re
import timecomment_url = 'https://club.jd.com/comment/productPageComments.action'f = open("JDcontents_vivo.csv", mode="a", encoding="utf-8", newline='')
csvwriter = csv.writer(f)
row = ('评论', '评分')
csvwriter.writerow(row)for i in range(200):print(i)page = iparams = {'productId': 100010624227, # 商品id,先写死'score': 3,'sortType': 6,'page': page,'pageSize': 10,'callback': 'fetchJSON_comment98','isShadowSku': 0,'fold': 1}headers = {'cookie':'shshshfpa=980322f4-0d72-08ea-9cb2-4fcadde80a00-1562576627; shshshfpb=ymAFpsvPn5OjLe2TxXJVyZQ==; __jdu=16150341377512100580391; mt_xid=V2_52007VwMVUllZUF8fSx9aAWcAElNcXFtbHUEZbAYwVhdbDVkCRh9AEFsZYgdBBkEIVw1IVUlbA24KQVEPXFcIGnkaXQZnHxNaQVhbSx5AElgAbAITYl9oUWocSB9UAGIzEVVdXg==; unpl=V2_ZzNtbUBVREUmC0QBfkkMDGJRQlwSV0ATIQFGUnIZCwBnABRYclRCFnUUR1xnGl4UZwYZXEtcQRBFCEdkeBBVAWMDE1VGZxBFLV0CFSNGF1wjU00zQwBBQHcJFF0uSgwDYgcaDhFTQEJ2XBVQL0oMDDdRFAhyZ0AVRQhHZHseXAFmARddQFFFEXULRlV6HVUEZQsSbXJQcyVFDENceRhbNWYzE20AAx8TcwpBVX9UXAJnBxNfR1dBE3MMRld7GF0BbgIQVUJnQiV2; PCSYCityID=CN_110000_110100_110108; user-key=0245721f-bdeb-4f17-9fd2-b5e647ad7f3e; jwotest_product=99; __jdc=122270672; mba_muid=16150341377512100580391; wlfstk_smdl=ey5hfakeb6smwvr1ld305bkzf79ajgrx; areaId=1; ipLoc-djd=1-2800-55811-0; __jdv=122270672|baidu|-|organic|not set|1632740808675; token=48ce2d01d299337c932ec85a1154c65f,2,907080; __tk=vS2xv3k1ush1u3kxvSloXsa0YznovSTFXUawXSawushwXpJyupq0vG,2,907080; shshshfp=3da682e079013c4b17a9db085fb01ea3; shshshsID=2ee3081dbf26e0d2b12dfe9ebf1ac9a8_1_1632744359396; __jda=122270672.16150341377512100580391.1615034138.1632740809.1632744359.28; __jdb=122270672.1.16150341377512100580391|28.1632744359; 3AB9D23F7A4B3C9B=OOGFR7VEBOKC3KPZ6KF3FKUOPTYV2UTP6I26CTJWT6CBR7KDFT6DA7AKGYBOIC5VE3AGWVCO44IPRLJZQM5VPBDKRE; JSESSIONID=82C0F348483686AC9A673E31126675D3.s1','referer': 'https://item.jd.com/','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'}comment_resp = requests.get(url=comment_url, params=params, headers=headers)comment_resp.close()obj1 = re.compile(r'.*?"comments":(?P<coments>.*?)[)];', re.S)obj2 = re.compile(r'.*?"content":"(?P<content>.*?)",".*?"score":(?P<score>.*?),"', re.S)file_json = 'comments.json'comment_str = obj1.finditer(comment_resp.text)for it in comment_str:json = it.group('coments')print(json)result = obj2.finditer(json)for it in result:#print(it.group('content'))dic = it.groupdict() # 字典dic['content'] = dic['content'].replace('\\n', '').replace('…','') #去掉换行字符存入字典中csvwriter.writerow(dic.values())print("over!")time.sleep(5)
f.close()
如何完成一万条
因为京东评论一次性不能对同一手机爬取那么多评论,所以要不断调参来爬取同一品牌其他手机来完成一万条评论实验,为后面情感分析做好数据准备。
爬取京东一万条评论-python相关推荐
- 花木兰到底好看不,我用Python爬取了几万条评论!
对于神仙姐姐刘亦菲,估计很多码农都很喜欢,小编也非常喜欢她.从一开始的金粉世家里面的青涩的白秀珠,到天龙八部的神仙姐姐王语嫣,再到仙剑奇侠传里面的赵灵儿,后来挑战四大名捕里面的无情,演技也是越来越好. ...
- 知乎爬虫(scrapy默认配置下单机1小时可爬取60多万条数据)
知乎爬虫(scrapy默认配置下单机1小时可爬取60多万条数据) 版本:1.0 作者: AlexTan CSDN: http://blog.csdn.net/alextan_ e-mail: alex ...
- 爬取京东商品规格和评论,13行代码写成的模板,想爬哪个商品评论就爬哪个
先看运行效果 上面图片是爬取京东阿玛尼口红的评论和商品规格 下面是13行代码,没错13行就可以了,想爬哪个就输入哪个商品的编号,商品编号在下面图片中找,我在爬取时候发现商品编号在url中有显示,比对之 ...
- 盗墓热再起!我爬取了6万条《重启之极海听雷》的评论,发现了这些秘密
前些日子潘老师领衔主演的<鬼吹灯之龙岭迷窟>,让盗墓题材的影视剧再次热起来,这股热乎劲还没过去多久,紧接着,这些天,又另一盗墓小说<盗墓笔记>改编的电视剧<重启之极海听雷 ...
- 《云南虫谷》爆火播放中,Python抓取3.6万条评论!评论太搞笑了吧!
最近鬼吹灯系列网剧<云南虫谷>上线,作为鬼吹灯系列作品,承接上部<龙岭迷窟>内容,且还是铁三角原班人马主演,网友直呼非常好看! 今天,我们就用Python爬取目前全部剧集的评论 ...
- 用python画苹果_Python爬取京东Iphone X用户评论并绘制词云
目标爬取京东商城上iPhone X用户评论数据: 使用jieba对评论数据进行分词处理: 使用wordcloud绘制词云图. 目前京东商城只会展示商品的前100页评论,所以我们能爬取到的评论只有100 ...
- python爬虫爬取京东商品评价_python爬取京东商品信息及评论
''' 爬取京东商品信息: 功能: 通过chromeDrive进行模拟访问需要爬取的京东商品详情页(https://item.jd.com/100003196609.html)并且程序支持多个页面爬取 ...
- 爬取京东华为mate30Pro5G的评论数据并制作云词
爬取京东评论数据采用selenium库 爬取代码如下: # -*- coding: utf-8 -*-from selenium import webdriver import json import ...
- Python爬取近10万条程序员招聘数据,告诉你哪类人才和技能最受热捧!
来源:凹凸数据 本文约5800字,建议阅读15分钟 本文带你了解当下企业究竟需要招聘什么样的人才?需要什么样的技能? 随着科技的飞速发展,数据呈现爆发式的增长,任何人都摆脱不了与数据打交道,社会对于& ...
最新文章
- MongoDB 安装配置
- python入门经典例题-Python入门练习题(适合Python初学者做的练习题)
- Java利用POI生成Excel强制换行
- Android Jetpack Navigation 深入体验报告
- 夏季十一款降温饮料的制作方法
- Jmeter添加压力机
- 页面获取Spring Security登录用户
- linux 丢包多少正常_Linux 问题故障定位,看看这篇
- linux 嵌入式串口通信设计目的,基于linux的嵌入式串口通信.doc
- 吉林大学java期末试卷_吉大18年9月《JAVA程序设计》作业考核试题-0001
- 字符串、数组处理方法总结
- Hadoop学习(2)Eclipse配置Hadoop开发环境+HDFS Java API测试+Bug解决记录
- 三种最常用的期货交易系统,99%的人都不知道
- sap中如何追踪生产订单的修改记录
- Python 列表推导式的实用小技巧
- Tableau-热力图
- 为什么计算机集群叫云,为什么叫云计算?
- 数字源表LIV测试激光器方案
- SystemUI流程
- AMD EPYC 7763/7T83/7713/7H12/7742 双路 8卡GPU服务器aleo