前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取
开发工具
- python 3.6.5
- pycharm
import requests
import time
import re
相关模块可pip安装
确定目标网页
咱们就选择销量最好的 1.2W+的评价数量,感觉还可以的样子。
精彩评论:
特意使用了两天再评论.娃娃很漂亮,材质很软,玩着舒服!
物流不错,包裹很严实,没有丝毫隐私透露,手感不错,柔软细腻,没什么异味,身高也刚好,有点重,再重一点我怕受不了啊,以后要多吃点啊,不能没体力享受这好的东西啊!润滑油多多多多多更好!!!!!!
梦寐以求的娃娃梦终于实现了。物超所值吧。我很喜欢。卖家很好,多给我补发了两套衣服。客服也非常耐心。处理问题也人性化。
通过开发者工具可以找到相对应的数据接口`
查看接口数据参数
多查看几页数据,可以发现page是从 0 1 2 3 开始相对应页数
注意点:
- 网页是GBK编码需要转码
- 返回数据可用正则提取,并非json数据
爬虫完整代码
import requests
import time
import re
for page in range(0, 100):
time.sleep(2)
url = 'https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=12520305481&score=0&sortType=5&page={}&pageSize=10&isShadowSku=0&rid=0&fold=1'.format(page)
headers = {
'cookie': '',
'referer': 'https://item.jd.com/12520305481.html',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',
}
response = requests.get(url=url, headers=headers)
html_data = response.content.decode('gbk')
lis = re.findall('"content":"(.*?)"', response.text, re.S)
for i in lis:
with open('商品评论.txt', mode='a', encoding='utf-8') as f:
f.write(i)
f.write('\n')
print(i)
词云图相关代码
import jieba
import wordcloud
import imageio
# 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
# py = imageio.imread(r"D:\python\demo\京东娃娃\timg.png")
# 读取文件内容
f = open(r'D:\python\demo\京东娃娃\商品评论.txt', encoding='utf-8')
txt = f.read()
# print(txt)
# jiabe 分词 分割词汇
txt_list = jieba.lcut(txt)
string = ' '.join(txt_list)
# 词云图设置
wc = wordcloud.WordCloud(
width=1000, # 图片的宽
height=700, # 图片的高
background_color='white', # 图片背景颜色
font_path='msyh.ttc', # 词云字体
# mask=py, # 所使用的词云图片
scale=15,
stopwords={'真的', '感觉'},
# contour_width=5,
# contour_color='red' # 轮廓颜色
)
# 给词云输入文字
wc.generate(string)
# 词云图保存图片地址
wc.to_file(r'D:\python\demo\京东娃娃\out.png')
少年需节制呀~