爬取京东商城用户评论(福利)
我们常常看到一些有关充气娃娃的表情包和图片或新闻,但是这种东西很少会像一些小视频一些相互交流,大家可能都是偷摸玩耍。所以猪哥相信其实大部分同学并没有亲身体验过充气娃娃到底是什么感觉(包括猪哥),所以猪哥很好奇究竟是什么一种体验?真的如传言中那样爽吗?
功能描述
基于很多人没有体验过充气娃娃是什么感觉,但是又很好奇,所以希望通过爬虫+数据分析的方式直观而真实的告诉大家(下图为成品图)。
技术方案
为了实现上面的需求以及功能,我们来讨论下具体的技术实现方案:
- 分析某东评论数据请求
- 使用requests库抓取某东的充气娃娃评论
- 使用词云做数据展示
技术实现
上以某东商品编号为:1263013576的商品为对象,进行数据分析,我们来看看详细的技术实现步骤吧!
1.分析并获取评论接口的URL
第一步:打开某东的商品页,搜索你想研究的商品。
第二步:我们在页面中鼠标右键选择检查(或F12)调出浏览器的调试窗口。
第三步:调出浏览器后点击评论按钮使其加载数据,然后我们点击network查看数据。
第四步:查找加载评论数据的请求url,我们可以使用某条评论中的一段话,然后在调试窗口中搜索。
经过这几步, 我们就拿到了商品评论的接口
https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv5584&productId=1263013576&score=0&sortType=5&page=1&pageSize=10&isShadowSku=0&fold=1
2.爬取评论数据
拿到评论数据接口url之后,我们就可以开始写代码抓取数据了。一般我们会先尝试抓取一条数据,成功之后,我们再去分析如何实现大量抓取。
两个请求头Referer和User-Agent,那我们先把他们加到代码的请求头中,
3.数据提取
接着,解析数据,由于拿到的是一个字符串,并且是有规则的,如下
我们可以将获取的信息读取并切片,并将json数据转换为dict, 发现我们要的数据在comments中的content中,然后打开文件写入
5.批量爬取
我们这里就使用多线程来批量爬取,批量方式可以自行选择
** 要找到规律:每次url中的page数字就代表的是第几页, 那么我们可以使用range,格式化输出url **
6.数据清洗
数据成功保存之后我们需要对数据进行分词清洗,对于分词我们使用著名的分词库jieba。
7.生成词云
生成词云我们需要用到numpy、matplotlib、wordcloud、Pillow这几个库,大家先自行下载。matplotlib库用于图像处理,wordcloud库用于生成词云。
最终结果:
附录
需要安装的包:
pip install requests # 爬虫模块
pip install jieba # 分词
pip install wordcloud # 词云
pip install numpy # 数据处理
pip install matplotlib # 图像绘制
pip install Pillow # 图片处理
全代码
import requests
import json
import os
import jieba
import threading
import time
import numpy as np
import matplotlib.pyplot as plt
from PIL import Imageimport wordclouddef main():# url2 = """https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv5584&productId=1263013576&score=0&sortType=5&page=1&pageSize=10&isShadowSku=0&fold=1"""# parse(url2)url_list = []# 遍历100页for i in range(1, 100):url = "https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv5584&productId=1263013576&score=0&sortType=5&page=%s&pageSize=10&isShadowSku=0&fold=1" % i# 加入子线程t1 = threading.Thread(target=parse, args=(url,))# 开启子线程t1.start()# parse(url)def parse(url):# print(url)# headers 反爬虫,referer 跳转来自哪个网页headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36","Referer": "https://item.jd.com/1263013576.html"}time.sleep(2)# 代理ip,已过期,请自行百度proxies = {"http": "http://117.90.5.25:9000"}# request.get(url, proxies=proxies)response = requests.get(url, headers=headers, proxies=proxies)print(response)ret = response.text[26:-2]json_str = json.loads(ret)data1 = json_str["comments"]with open("content.txt", "a")as f:for temp in data1:data = temp["content"]print(temp)f.write(data+'\n')def cut_word():with open("content.txt", 'r') as f:data = f.read()wordlist = jieba.cut(data, cut_all=True)# print(wordlist)wl = " ".join(wordlist)return wldef create_wordcloud():coloring = np.array(Image.open("wawa.jpeg")) # 这里的wawa.jpeg 自行找个图片就行,将会按照图片的形状绘图# 设置词云的配置,字体,背景色,词云形状,大小wc = wordcloud.WordCloud(background_color="white", max_words=2000, mask=coloring, scale=4, max_font_size=50, random_state=42, font_path="/Library/Fonts/Songti.ttc")# 生成词云wc.generate(cut_word())plt.imshow(wc, interpolation="bilinear")plt.axis("off")plt.figure()plt.show()# print(ret.decode("GBK"))# print(ret)
if __name__ == '__main__':if os.path.exists("content.txt"):os.remove("content.txt")main()# time.sleep(5)# create_wordcloud()
总结:
- 如何分析并找出加载数据的url
- 如何使用requests库的headers解决Referer和User-Agent反扒技术
- 如何找出分页参数实现批量爬取
- 设置代理ip防止被封
- 数据的提取与保存到文件
- 使用jieba库对数据分词清洗
- 使用wordcloud生成指定形状的词云
爬取京东商城用户评论(福利)相关推荐
- Scrapy练习——爬取京东商城商品信息
刚刚接触爬虫,花了一段时间研究了一下如何使用scrapy,写了一个比较简单的小程序,主要用于爬取京东商城有关进口牛奶页面的商品信息,包括商品的名称,价格,店铺名称,链接,以及评价的一些信息等.简单记录 ...
- 爬虫利器Pyppeteer的介绍和使用 爬取京东商城书籍信息
提起 selenium 想必大家都不陌生,作为一款知名的 Web 自动化测试框架,selenium 支持多款主流浏览器,提供了功能丰富的API 接口,经常被我们用作爬虫工具来使用.但是 seleniu ...
- 爬虫利器Pyppeteer的介绍和使用 爬取京东商城书籍信息!
提起 selenium 想必大家都不陌生,作为一款知名的 Web 自动化测试框架,selenium 支持多款主流浏览器,提供了功能丰富的API 接口,经常被我们用作爬虫工具来使用.但是 seleniu ...
- 【爬虫】用Selenium+PyQuery爬取京东商城
文章目录 前言 1. 项目预览 2. 库的引入 3. 爬取流程 4. 驱动浏览器搜索关键字 4. 1页面分析 4.2 驱动浏览器代码 5. 解析页面 5.1 页面分析 5.2 页面解析代码 6. 保存 ...
- python爬虫完整实例-python爬虫实战之爬取京东商城实例教程
前言 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1. ...
- 爬虫python的爬取步骤-python爬虫实战之爬取京东商城实例教程
前言 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1. ...
- python爬虫爬图片教程_python爬虫实战之爬取京东商城实例教程
前言 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1. ...
- python 爬网站 实例_python爬虫实战:之爬取京东商城实例教程!(含源代码)
前言: 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1 ...
- 爬虫初学——爬取京东商品的评论(一)
最近,初学了一些爬虫的知识,然后刚好被老师要求去爬取一些评论数据(淘宝.京东等),来进行深度学习识别虚假评论.然后咋办咧,东搜搜西搜搜,看有没有什么好的办法.毕竟之前可是被反爬机制很强的网站弄得毫无头 ...
最新文章
- 清华大学《大数据系统基础》项目征集说明(2021年秋季)
- 科大讯飞年报出炉,2018每天赚148万元,53%是政府补助
- makefile 同时生成多个可执行文件
- 安装VMware,出现Microsoft Runtime DLL 安装程序未能完成安装,解决方法
- 设为首页加入收藏代码
- linux 查看可执行文件动态链接库相关信息(转)
- 微信搜一搜在线检索技术演进复盘
- 介绍一个非常实用的Visual Studio Code扩展 - indent-rainbow
- java jre 中导入导出证书
- 分而治之_播放框架模块:分而治之
- 数组做参数_C语言进阶之路:函数—数组参数!
- 20169210《Linux内核原理与分析》课程总结
- 个人支付源码_[5G时代投资风口源码修复版] 投资区块链+订制UI完美版+对接免签支付+自带发圈推广任务奖励+视频教程...
- 成功的CMMI过程定义
- 03-linux查询端口
- C语言小游戏---扫雷
- 微软模拟飞行2020 数字化建模分析
- CAD坐标系(UCS)
- 计算机上桌面不见了怎么找回,电脑桌面上的文件消失了怎么办,如何找回
- 小兮码 linux版本,【图片】单字利器:二笔顶功——小兮码【输入法吧】_百度贴吧...