流程:

一,爬取数据 保存到mysql数据库

二,读取数据 分析三种颜色的占比。

1,爬取数据保存到mysql数据库:

# -*- coding: utf-8 -*-
"""
Created on Mon Mar  4 11:09:45 2019@author: Lenovo
"""""
import urllib
import mysql.connector
import re
import urllib.error
import json
import time as t#设置请求头
headers = ("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36")
opener=urllib.request.build_opener()
opener.addheaders=[headers]#添加报头
urllib.request.install_opener(opener)#设置opner全局化#设置代理服务器
def use_proxy_1(url,proxy_add):proxy=urllib.request.ProxyHandler({'http':proxy_add})opener=urllib.request.build_opener(proxy,urllib.request.HTTPHandler)urllib.request.install_opener(opener)data=urllib.request.urlopen(url).read().decode('utf-8')return datafor currentPage in range(25,100):try:ratecontent = []color = []commt_url='https://rate.tmall.com/list_detail_rate.htm?itemId=558760911386&spuId=877095771&sellerId=2616970884&order=3&currentPage='+str(currentPage)proxy_add="182.44.224.198:9999"#设置代理服务器commt_data=use_proxy_1(commt_url,proxy_add) #爬取网页的评论内容#筛选json格式数据jsondata=re.search('^[^(]*?\((.*)\)[^)]*$',commt_data).group(1)#用json加载数据data = json.loads(jsondata)#数据保存在变量里conn = mysql.connector.connect(host='localhost', port=3306, user='root', passwd='password', db='tianmao', charset='utf8mb4')cur = conn.cursor()#连接mysqlprint('连接成功!!!!')for i in range(0, len(data['rateDetail']['rateList'])):name = data['rateDetail']['rateList'][i]['displayUserNick']content = data['rateDetail']['rateList'][i]['rateContent']time = data['rateDetail']['rateList'][i]['rateDate']type = data['rateDetail']['rateList'][i]['auctionSku']typeDetails=re.split('[:;]',type)color=typeDetails[3]#颜色rom=typeDetails[7]#存贮容量net=typeDetails[1]#网络类型sql_content = "replace into iphone(name,content,time,color,rom,net) values (\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\")"  \%(str(name),str(content),str(time),str(color),str(rom),str(net))cur.execute(sql_content)#提交数据conn.commit()t.sleep(2)print('第'+str(currentPage)+'页数据保存完毕!')#关闭连接conn.close()except urllib.error.URLError as e:if hasattr(e,"code"):print(e.code)if hasattr(e,"reason"):print(e.reason)

效果:

2,读取数据 并分析颜色占比

# -*- coding: utf-8 -*-
"""
Created on Mon Mar  4 16:55:25 2019@author: Lenovo
"""
import mysql.connector
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号conn = mysql.connector.connect(host='localhost', port=3306, user='root', passwd='password', db='tianmao', charset='utf8mb4')
cur = conn.cursor()cur.execute("select count(*) from iphone;")
alldata = cur.fetchall()
print("总数: "+str(alldata))
#颜色统计
cur.execute("select count(*) from iphone where color='银色';")
color1 = cur.fetchall()cur.execute("select count(*) from iphone where color='金色';")
color2 = cur.fetchall()cur.execute("select count(*) from iphone where color='深空灰色';")
color3 = cur.fetchall()xlabels=[u'银色',u'金色',u'深空灰色']
xValues=[color1[0],color2[0],color3[0]]
fig=plt.figure()
plt.pie(xValues,labels=xlabels,autopct='%.2f%%')
plt.title("颜色比例图",14)
plt.show()

效果:

由图可见 最受欢迎的颜色为 深空灰

词云图:

# -*- coding: utf-8 -*-
"""
Created on Mon Mar  4 16:55:25 2019@author: Lenovo
"""
import mysql.connector
import matplotlib.pyplot as pltfrom wordcloud import WordCloud,STOPWORDS,ImageColorGenerator
import jieba#词云图
comments=[]
with open('content.txt',mode='r',encoding='utf-8') as f:rows=f.readlines()print('readlines:'+str(len(rows)))for row in rows:comments.append(row)#设置分词
comment_after_split = jieba.cut(str(comments),cut_all=False)#非全模式分词
words=' '.join(comment_after_split) #以空格进行拼接#设置屏蔽词
stopwords=STOPWORDS.copy()
stopwords.add('此用户没有填写评论!')
stopwords.add('儿子')
stopwords.add('第一次')
stopwords.add('手机')
stopwords.add('苏宁')
stopwords.add('苹果')stopwords.add('还是')
stopwords.add('不错')
stopwords.add('问题')
stopwords.add('收到')
stopwords.add('用户没有')
stopwords.add('那天')
stopwords.add('非常')#导入背景图片
bg_image = plt.imread('bg.jpg')
# 设置词云参数,参数分别表示:画布宽高、背景颜色、背景图形状、字体、屏蔽词、最大词的字体大小
wc = WordCloud(width=1024, height=768, background_color='white', mask=bg_image, font_path='STKAITI.TTF',stopwords=stopwords, max_font_size=400, random_state=50)
# 将分词后数据传入云图
wc.generate_from_text(words)
plt.imshow(wc)
plt.axis('off')  # 不显示坐标轴
plt.show()
# 保存结果到本地
wc.to_file('词云图.jpg')

Python 爬取天猫 iPhone8plus 销售数据相关推荐

  1. python爬取天猫商品信息

    python爬取天猫商品信息 主要信息有:商品名,价格,月销量,评论数,人气值,店铺评分 以智能手机为例! 首先,发掘网址规律: 第二页的网址如上 第三页的网址如上 注意网址中的数字(靠近中间位置): ...

  2. python爬取天猫,python如何爬取天猫店铺商品链接?

    在使用python爬虫爬取网页时会遇到很多含有特殊符号的情况,当把链接复制到浏览器打开,发现每个节点都多了个\,直接使用response.xpath()无法定位元素,为避免定位不到元素的问题,应先对响 ...

  3. 用python爬取天猫商品评论并分析(2)

    用python爬取天猫商品评论并分析(2) 之前介绍过天猫数据的爬取和数据初步处理,今天介绍下 将采集的评论进行文本分析!下面是总流程: 0. 主要流程 0. 数据采集 这一步参考网址:https:/ ...

  4. python爬取天猫_python scrapy 爬取天猫商品

    感觉写的差不多了,可就是爬不出数据,想要用这个爬取天猫商品销量价格,求一下PYTHON大神,能让我程序爬成功的,1000分都给你itemsimportscrapyclassno1item(scrapy ...

  5. python爬取天猫_Python如何抓取天猫商品详细信息及交易记录

    本文实例为大家分享了Python抓取天猫商品详细信息及交易记录的具体代码,供大家参考,具体内容如下 一.搭建Python环境 本帖使用的是Python 2.7 涉及到的模块:spynner, scra ...

  6. python 爬取天猫店铺商品评论

    在两三年之前天猫,淘宝,美团等这类的没有加密,很容易采集到数据,刚写了个爬取天猫评论时候,发现不能获取json类的数据,用了所以我用selenium,效果还不错,我们创建对象后,会让我们登录(如下图所 ...

  7. python爬取天猫_Python爬取天猫商品数据

    使用教程点击这里下载下载chrome浏览器 查看chrome浏览器的版本号,点击这里下载对应版本号的chromedriver驱动 pip安装下列包pip install selenium pip in ...

  8. Python爬取天猫店铺的企业名1:根据店铺名获得店铺链接

    2020年12月31日更新 项目说明: 最近遇到一个项目,项目需求大致是这样的:有一批天猫店铺名,需要根据店铺名获得店铺的认证企业名. 项目分析: 这个项目可以分为以下几个步骤: 1.根据店铺名搜索获 ...

  9. python爬取天猫商品数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

最新文章

  1. docker 连接容器
  2. OpenStack OVS实现安全组(五)
  3. Sqlite c/c++ api 学习
  4. Python和QuickBooks数据库,哪些让你所困惑的事情!究竟怎么解决
  5. c语言volatile关键字的作用是什么?
  6. MySQL学习记录—常用语句集
  7. 超56万5G用户重返4G:用户难以接受这两点
  8. weblogic占用java_weblogic下java程序占用cpu过高的问题排查
  9. [转载] 七龙珠第一部——第012话 向神龙许愿
  10. 熬夜整理,最全的Go语言教程来了,快来收藏!
  11. Python实现四个经典小游戏合集
  12. 机器学习与算法(6)--学习矢量化
  13. 全流程OA系统集成对接案例实例
  14. spring boot + netty实现匿名聊天室 web版
  15. MinIO异常the region is wrong; expecting ‘us-east-1‘
  16. 人的转型才是关键 数字化时代你具备数字领导力么
  17. uwe5622 uwe5621ds 紫光展锐 wifi 移植的几个关键点:
  18. vivox27怎么去掉信息红点_还记得五彩斑斓的黑?vivo X27 Pro获红点奖
  19. 元宇宙3D设计系统【构思与展望】
  20. LeetCode学习-查找2-合并版

热门文章

  1. 分享我的经历,你以为你很努力
  2. 忠诚点数体系和区块链
  3. go语言踩坑:data race导致的输出结果与预期结果不一致
  4. 用VMware Converter实现Esxi5.0到Esxi6.0主机上的虚拟机迁移(V2V)
  5. 刚刚从GitHub 上扒下来,标星 75k,超牛的《Java面试突击版》,这么高标星果真有原因的
  6. 用Python做个小网站(MVC架构)
  7. 如何在网页中添加访问密码?
  8. windows键按了没反应_教你如何从Windows无缝衔接到MacOS
  9. 2018年举办区块链峰会_2015年开放硬件峰会开放接受注册,征求建议
  10. Discuz!快速对接个人支付插件