前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

1 明确目的

通过访问天猫的网站,先搜索对应的商品,然后爬取它的评论数据。可以作为设计前期的市场调研的数据,帮助很大。

2 爬取评论并储存

(首先要进行登录,获取cookie)搜索你想收集的信息的评价,然后点开对应的产品图片。找到对应的评价的位置。

找到对应的位置之后就可以进行数据的爬取了,但是在爬取的过程中发现始终无法获取对应的数据。判断可能是因为没有添加cookie导致的,但是在添加了cookie之后发现依旧无法解决问题。

最后,发现应该是显示的数据是通过json解析之后显示在网页上的,因此需要多一些步骤来获取真正的爬取链接。

首先在network中,清除掉以往的数据信息,然后将页面进行刷新,复制其中的一条信息,进行搜索。在4中获得链接,并在5中获取到链接。

找到文件里面的访问url、cookie、referer、agent,将其复制在程序里。

大功告成,现在就可以进行数据的爬取了。

import pandas as pd
import requests
import re
import time
data_list = []
for i in range(1,20,1):print("正在爬取第" + str(i) + "页")#构建访问的网址,这个网址可有讲究了first = 'https://rate.tmall.com/list_detail_rate.htm?itemId=596452219968&spuId=1240258038&sellerId=1579115485ℴ=3&currentPage=1'last = '&append=0&content=1&tagId=&posi=&picture=&groupId=&ua=098%23E1hvB9vnvPgvUvCkvvvvvjiPn25pQjlhPFSv0jthPmPy6jiPR2MwAjnjRLF9gjlERphvCvvvphmjvpvhvUCvp8wCvvpvvhHhmphvLvUIUkUaQCAwe1O0747BhCka%2BoHoDOvfjLeAnhjEKBmAdXIaUExreTgcnkxb5ah6Hd8ram56D40OdiUDNrBlHd8reC69D70fd3J18heivpvUvvCCWUB0wV0EvpvVvpCmpJ2vKphv8vvvpHwvvvvvvvCmqvvvv4pvvhZLvvmCvvvvBBWvvvjwvvCHhQvvvxQCvpvVvUCvpvvv2QhvCvvvMMGtvpvhvvCvp86CvChh9P2s3QvvC0ODj6KHkoVQROhCvCLwMbra3rMwznsJWxS5gn1Uzvr4486Cvvyv9mQS7Qvvm4p%3D&needFold=0&_ksTS=1585406932472_453&callback=jsonp454'url = first + str(i) + last#访问的头文件,还带这个cookieheaders ={# 用的哪个浏览器'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36',# 从哪个页面发出的数据申请,每个网站可能略有不同'referer': 'https://detail.tmall.com/item.htm?spm=a220m.1000858.1000725.1.464b6bbfQwJmpT&id=596452219968&skuId=4313616443848&areaId=340700&user_id=1579115485&cat_id=2&is_b=1&rn=2aaf4f3d019121cb4b9c1816fe2eb360',# 哪个用户想要看数据,是游客还是注册用户,建议使用登录后的cookie'cookie':'tk_trace=1; cna=BPoFF17G1wkCASShM8zuMe/z; dnk=%5Cu6211%5Cu624B%5Cu673A%5Cu9762%5Cu5305; uc1=tag=10&cookie16=UIHiLt3xCS3yM2h4eKHS9lpEOw%3D%3D&cookie14=UoTUP2Hg22VKGQ%3D%3D&cookie15=URm48syIIVrSKA%3D%3D&cookie21=WqG3DMC9Fb5mPLIQo9kR&lng=zh_CN&existShop=false&pas=0; uc3=nk2=rUtEsEAPxFiBAw%3D%3D&vt3=F8dBxd9vfOFX6TF0nIU%3D&lg2=UtASsssmOIJ0bQ%3D%3D&id2=UU20sOBlt5YjsA%3D%3D; tracknick=%5Cu6211%5Cu624B%5Cu673A%5Cu9762%5Cu5305; lid=%E6%88%91%E6%89%8B%E6%9C%BA%E9%9D%A2%E5%8C%85; _l_g_=Ug%3D%3D; uc4=nk4=0%40r7rCJKnwPLZ3%2FwyNCMllICP5es7j&id4=0%40U2%2Fz9fRgFErUiIbdThLAqnTeryYw; unb=2565225077; lgc=%5Cu6211%5Cu624B%5Cu673A%5Cu9762%5Cu5305; cookie1=VyVfQs3fk3Q1AMa82%2BACjr%2B92r264TDI3Q1c5WQuXXw%3D; login=true; cookie17=UU20sOBlt5YjsA%3D%3D; cookie2=1cf0a583503c0e1120b70f4ef312f5c5; _nk_=%5Cu6211%5Cu624B%5Cu673A%5Cu9762%5Cu5305; sgcookie=EilyrHs60A8pXOSQMCPEY; sg=%E5%8C%857f; t=0f46f0f89d1ad6a09a42a2e03e34c8ad; csg=af40d9de; _tb_token_=7e358e863e33f; enc=m7O0wanabkvr3U2e%2B%2FVwjIRhdoivog54aY5f614N4hBpuXKXuZzuCOP8Wqjk%2FohRVNzechJXzRihNyJDnIQHxw%3D%3D; l=dBOQ8BwlQB9FA9pWBOfwVsUBXgbOgIOb8sPzcQtKtICPOq1wBiJPWZ43uHTeCnGVh6JwR3laeFr4BMsXcnV0x6aNa6Fy_1Dmn; isg=BKOjn8dx-fVsPLXByTRwZsHRMuFNmDfaBnKiX9UB34JaFMI2XWiVKt1CDuQatI_S'}#尝试获取数据(这里的数据应该是从json里面获取的)try:data = requests.get(url,headers = headers).texttime.sleep(10)result = re.findall('rateContent":"(.*?)"fromMall"',data)data_list.extend(result)except:print("本页爬取失败")
df = pd.DataFrame()
df["评论"] = data_list
df.to_excel("评论_汇总.xlsx")

由于天猫会有比较强的反爬机制,因此需要设置睡眠时间,链接也要更新。

以上就是爬取的部分评价,可以通过可视化工具提取关键词并绘制出词云。

3 词云图的制作

首先将原来的数据保存为csv的格式

# df = pd.DataFrame()
# df["review"] = data_list
# df.to_excel("评论_汇总.xlsx")
df = pd.DataFrame()
df["review"] = data_list
df.to_csv("coms.csv",mode="a+",header=None,index=None,encoding="utf-8")

之后利用这些数据进行词云的绘制

# @功能:读取csv文件,然后进行绘制词云图
# @日期:2020-04-22
import re
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import pandas as pd
import jieba
import np
from PIL import Image
# 读取原始数据
raw_comments = pd.read_csv('com.csv');raw_comments.head()
# 导入停用词表,这里的stopword是可以自己更改上传的
with open('stopword.txt') as s:stopwords = set([line.replace('\n', ' ') for line in s])
# 传入apply的预处理函数,完成中文提取、分词以及多余空格剔除
def preprocessing(c):c = [word for word in jieba.cut(' '.join(re.findall('[\u4e00-\u9fa5]+', c))) if word != ' ' and word not in stopwords]return ' '.join(c)
# 将所有语料按空格拼接为一整段文字
comments = ' '.join(raw_comments['评论'].apply(preprocessing));comments[:500]
# ---------生产词云----------
usa_mask = np.array(Image.open('flower.png'))
#image_colors = ImageColorGenerator(usa_mask) #读取图片本身颜色,但是这一句有错误
#从文本中生成词云图
wordcloud = WordCloud(background_color='white', # 背景色为白色height=400, # 高度设置为400width=800, # 宽度设置为800scale=1, # 长宽拉伸程度设置为20prefer_horizontal=0.2, # 调整水平显示倾向程度为0.2max_words=500, # 设置最大显示字数为500relative_scaling=0.3, # 设置字体大小与词频的关联程度为0.3max_font_size=50,# 缩小最大字体为50font_path='msyh.ttf',#设置字体为微软雅黑mask=usa_mask#添加蒙版).generate_from_text(comments)
plt.figure(figsize=[8, 4])
plt.imshow(wordcloud#.recolor(color_func=image_colors),alpha=1
)
plt.axis('off')
#保存到本地
plt.savefig('图6.jpg', dpi=600, bbox_inches='tight', quality=95)
plt.show()

最后生产的图片:

(猜猜这个图片像什么)

如果你处于想学Python或者正在学习Python,Python的教程不少了吧,但是是最新的吗?说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2020最新的Python教程。获取方式,私信小编 “ 01 ”,即可免费获取哦!

Python爬虫实例,一小时上手爬取淘宝评论(附代码)!相关推荐

  1. python 爬虫实例-python爬虫实例,一小时上手爬取淘宝评论(附代码)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 1 明确目的 通过访问天猫的网站,先搜索对应的商品,然后爬取它的评论数据. ...

  2. python爬虫实例,一小时上手爬取淘宝评论(附代码)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 1 明确目的 通过访问天猫的网站,先搜索对应的商品,然后爬取它的评论数据. ...

  3. python爬虫:Selenium模拟浏览器爬取淘宝商品信息

    1.数据提取前期网页分析 分析:淘宝网页数据也是通过Ajax技术获取的,但是淘宝的API接口参数比较复杂,可能包含加密密匙等参数:所以,想要通过自己构造API接口获取完整网页信息很难实现(可能只有部分 ...

  4. python爬淘宝app数据_一篇文章教会你用Python爬取淘宝评论数据(写在记事本)

    [一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. [二.项目准备工作] 准备Pycharm,下载安装等,可以参考这篇文章 ...

  5. Python入门--爬取淘宝评论并生成词云

    Python爬取淘宝评论并生成词云 最新修改于2021/04/01 所需相关Python第三方库(目前最新版本即可) 推荐使用Anaconda,其使用十分方便.快捷. requests库 json库 ...

  6. 淘宝商品爬虫Ⅰ:根据店铺名爬取淘宝商品基本信息

    根据店铺名爬取淘宝商品基本信息 算是前言 网页分析 爬取流程 代码和运行结果 Cookies去哪找? 火狐浏览器解决方案 后记 算是前言 之前接了几个私活,很多买方都是想要淘宝某个店铺的商品的数据. ...

  7. python实战项目一:requests爬取淘宝图片

    按关键词爬取淘宝的图片 ●实验过程遇到的问题: 1.      一开始我没注意,将文件名写为requests.py,但是运行时却出现了这个错误:module 'requests' has no att ...

  8. Python爬取淘宝评论!听说差评才是最真实的?

    进入淘宝店铺,使用开发者工具抓包后点击累计评价,可以定位到评论的接口 从抓的包中复制cookie 分析接口后发现只需要四个参数即可在此接口请求到评论内容 #头部需要带上ua和referer,不然请求不 ...

  9. python爬虫实例——某二手车数据爬取

    某二手车网站数据爬取 要求: 找到所要爬取的网站网址(url): 今天案例的网址(url):https://www.guazi.com/gy/dazhong/o1/#bread. 观察网站,点开检查, ...

最新文章

  1. iOS 线程之GCD的高级使用方法
  2. 创建私有CA详细图解
  3. mysql中事件失效如何解决
  4. boost::weak_ptr相关的测试程序
  5. ECMAScript+DOM+BOM
  6. java 方法执行结束局部变量释放_Java方法执行的内存模型
  7. GitHub 下架 Youtube-dl 遭粉丝疯狂上传源码报复,开源者的权益谁来维护?
  8. 【java学习之路】(javaWeb【后端】篇)007.AjaxAxios
  9. jquery基本过滤选择器(jquery筛选选择器)
  10. SCM供应链管理系统介绍:企业SCM供应链系统应用领域、优势、功能详解
  11. R语言详解参数检验和非参数检验——样本T检验、方差分析、pearson相关性检验、单样本wilcoxon检验、Mann-Whitney检验、配对样本wilcoxon检验、列联表检验、卡方检验
  12. 280. 陪审团 poj1015(背包DP)
  13. validation插件
  14. ubuntu16 安装文本对比软件
  15. 神经网络正向与反向传播
  16. 计算机操作系统复习资料
  17. 数字图像处理常用函数
  18. C++ - 多态(2) | 虚表的打印、单继承与多继承的虚表
  19. 对图片进行等比例压缩
  20. 苹果移动端怎么使用申请的网易企业电子邮箱办公?

热门文章

  1. 别让你的mongodb宕机了
  2. 根号 巴比伦_建立巴比伦卫生设计系统
  3. 在我的电脑里计算机管理在哪里,电脑控制面板在哪里查找步骤 一起了解下吧...
  4. 常见的几种页面内容布局方式
  5. 认真学习MySQL的事务日志-Redo日志
  6. 沃尔什函数 与 沃尔什-哈达玛变换
  7. 分享一个公主连结辅助工具
  8. 创意svg+css3相册图文展示
  9. Java Excel 复制单元格 poi Excel 复制单元格 Java Excel 复制行 Java Excel 复制 sheet 页 poi excel copy
  10. 斯嘉丽约翰逊60张pdf什么时间的?_什么叫美丽与演技并存?