流程:

一,爬取数据 保存到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. 如果可以,我想给这本书打十星!
  2. Java多线程编程实战指南+设计模式篇pdf
  3. 吐司面包的做法_无糖粗粮吐司面包的做法+配方,超柔超软,一次发酵
  4. 什么是CPAN(安装NAGIOS使用到)
  5. Cookie 和 Session的区别 1
  6. SAP Fiori Launchpad 错误消息 - 400 File is not contained in a resource root
  7. 数据结构题(莫队算法)
  8. B - 数字三角形问题
  9. 利用反射获取类或者方法或者字段上的注解的值
  10. Swagger使用总结
  11. SSH框架 openSessionInView的配置
  12. AE 动效工作流技巧 —— 减少 Bodymovin 导出的 JSON 大小并提升性能(三)
  13. 【仿真】carsim、prescan、simulink联合仿真教程、笔记、操作
  14. 编译原理-8-Bison 语法分析器的生成器
  15. 基于Android企业员工绩效考评APP的设计与实现
  16. 如何将XML转换为HL7
  17. matlab如何调整顺时针逆时针,关于算法:确定线段的方向是顺时针还是逆时针
  18. 前端基础之浮动个人相册
  19. 银河麒麟系统使用方法
  20. java中play什么意思_Play 框架学习 (二) 介绍Play及基本概念

热门文章

  1. 读《穷爸爸富爸爸》有感
  2. SpringCloud(Hoxton SR6)微服务工具集学习笔记
  3. Forkast News对话节目 | 中国的BSN将如何改变区块链?
  4. 最大熵模型(maximum entropy model)
  5. 聪明是一种天赋,而善良是一种选择
  6. mysql_row百度百科_MySQL
  7. IntelliJ IDEA 项目中不小心把文件设置 Excluded 怎么恢复成原来的文件夹?
  8. 什么都是浮云 唯有云计算灿烂
  9. word 模板生成ftl并实现转换成pdf
  10. java图片识别(文字、字母、数字)