大家好,今天小编来为大家解答以下的问题,关于Python数据分析:某产品国产手机有多便宜?是不是太贵了你买不起?,这个很多人还不知道,现在让我们一起来看看吧!
数据层首先会通过Python爬取WEB端的网页数据,然后解析爬取的数据并存储到MYSQL数据数据库中。最后应用层的数据处理、数据计算统计、图表可视化等工作都是由我们的FineBI工具完成的。
操作步骤
1.引入相关Pyhon库包,编写MySQL数据存储函数
首先新建一个python项目,引入爬取网页数据并写入MySQL数据库所需的四个相关库包pandas、re、request、pymysql:
进口熊猫
进口再
导入请求
导入pymysql
def ExecuteSQL(title,price,sales): #将数据写入mysql数据库
conn=pymysql.connect(host='xxx.xxx.xxx.xx', port=xxxx, user='xxxx', passwd='xxxx', db='xxxx', charset='utf8') #对应xx参数的值改为你自己数据库的值即可
光标=conn.cursor()
#cursor.execute('CREATE TABLE MOBILE_DATA(brand varchar(100),价格双倍,销量int)')
# 光标.execute('删除表移动数据')
cursor.execute('INSERT INTO MOBILE_DATA(品牌,价格,销量) VALUES (\'%s\',%d,\'%d\')'%(title,price,sales)) #执行SQL数据插入
print('数据插入成功!')
打印(标题、价格、销量)
conn.commit() #提交执行命名
cursor.close() #释放游标对象
conn.close() #释放数据库连接对象
2.获取网页数据
然后如下图所示,定义模拟浏览器访问头的值,通过编写Python代码使用requests获取“小宝”平台网页中的请求信息:
for page in range(1,7): # 循环页面,共7页
url='https://s.taobao.com/search?q=%E6%89%8B%E6%9C%BAimgfile=commend=allssid=s5-esearch_type=itemsourceId=tb.indexspm=a21bo.2017.201856-taobao-item.1ie=utf8initiative_id=tbindexz_20170306cps=yesppath=2176%3A136877751%3B2176%3A3244779%3B2176%3A91621%3B2176%3A39862256%3B2176%3A28247'
header={'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML,如Gecko) Chrome/63.0.3239.84 Safari/537.36',
'cookie':'thw=cn; t=be73ea5ec1ffbeb254d0a3535dd00415; cna=HqWrEpIZeG4CAbYSAEIb6bav; hng=CN%7Czh-CN%7CCNY%7C156; miid=596160490770762658; lgc=%5Cu58 15%5Cu843D%5Cu4E4B%5Cu6CEAa; tracknick=%5Cu5815%5Cu843D %5Cu4E4B%5Cu6CEAa; tg=0; uc2=wuf=https%3A%2F%2Ftrade.tmall.com%2Fdetail%2ForderDetail.htm%3Fbiz_order_id%3D104827474284154168%26forward_action%3D; x=e%3D1%26p%3D*% 26s%3D0%26c%3D0%26f%3D0%26g%3D0%26t%3D0%26__ll%3D-1%26_ato%3D0; uc3=sg2=VWxidJMT8gLCYBc%2BxP5FJdYe9%2FXfUvq2%2Byf0cFWq90Q%3Dnk2=1RSXayUHM 0Slid2=UUpkvTJ9k5HsSA%3D% 3Dvt3=F8dBzLbVzPYkPml1NZk%3Dlg2=W5iHLLy FOGW7aA%3D%3D; uss=VvioJOfdaT365u5YugXSKrRnG47jUQQG9UQvstfUu5fjcHD0zxGQLEmn; _cc_=VFC%2FuZ9ajQ%3D%3D; mt=ci=67_1; tk_trace=oTRxOWSBNwn9dPy4KVJVbutfzK5InlkjwbWpxHegXyGxPdWTLVRjn23RuZzZtB1ZgD6Khe0jl%2BAoo68rryovRBE2Yp933GccTPwH%2FTbWVnqEfudSt0ozZPG%2BkA1iKeV v2L5C1tkul 3c1pEAfozBoBsNsJySQJwqIKz2kX83uPP5e4iE9t1ZpHdHZkk218jfUutkisiegrGMtBctY%2B2vMCmzCRVhIqleLIl%2BRRQHs4ekw3wNcZhDfwkkQzp9RF7kjYiNbN LTbo2mRCr3Wf97aW %2FfC72uuEf9Tcc6cNT9QCiB0y7NxqzS4M5NvMkxl5KoKbA%2BorLqu5Y9jpCfT31RlA%3D%3D; cookie2=1c16eb46ef00c015dd101f731c258d77; _tb_token_=8de4c4560b63; v=0; alitrackid=www.taobao.com; lastalitrackid=www.taobao.com; swfstore=107855; JSESSIONID=ED726367865542 B7BA84D801D1C72812; isg=AhcXOlKpAS4SKIXa0x_6AhsZpovNTcSrwSKOp2lEKOZNmDfacSx7DtWyjg59; uc1=cookie14=UoTdf1DFLRnICg%3D%3D',
'接受':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'路径':'/搜索?q=%E6%89%8B%E6%9C%BAimgfile=commend=allssid=s5-esearch_type=itemsourceId=tb.indexspm=a21bo.2017.201856-taobao-item.1ie=utf8initiative_id=tbindexz_20170306 '} #定义模拟浏览器访问头的值

html=requests.request('GET', url, headers=header) #网页请求信息获取
3.HTML标签解析(Script格式)
这时我们就可以在华为、小米、OPPO、VIVO四大国产手机中查看网页信息。我们可以使用浏览器自带的F12工具查看相关代码,发现“某宝”的商品数据信息原来是存储在Script变量中的。中间。
接下来我们只需要使用re根据指定的标签格式查找并获取整个网页的数据信息,然后将对象存储在data中即可:
ren=re.compile(''标题':'(.*?)','pic_url':'(.*?)','价格':'(.*?)','trace':'(. *?)','month_sales':'(.*?)'')
数据=re.findall(ren, html.text)
4.MySQL数据存储
解析数据后,将解析后的数据写入MySQL数据库:
data2=pandas.DataFrame(data) #将数据对象转换为DataFrame类型,方便处理
for rows in range(1,data2.shape[0]): #循环遍历DataFrame中的所有数据行
ExecuteSQL(data2.values[rows][0],float(data2.values[rows][2]),int(data2.values[rows][4])) #MySQL数据存储
count=count+1 #计数器累加
print('恭喜,数据已全部抓取完毕,共有%d条数据!'%(count))
循环查阅“谋宝”平台上华为、小米、OPPO、VIVO四大国产手机的相关信息数据,共7个页面,共282条数据。
5. 验证数据输入数据库
直接通过FineBI提供的数据配置功能,添加SQL数据集(或者直接添加表),检查验证我刚刚爬取并录入数据库的数据是否已经成功录入MySQL。
如下图所示,Python确实完成了它的使命。我想要的“小宝”平台上的华为、小米、OPPO、VIVO四大国产手机的数据已经成功写入到我的MySQL数据库中。
6. 可视化分析
分为几个维度:
国内四大手机品牌整体销量。国内手机销量排名。销售重点是型号。国内手机销量排名。销售重点是型号。涉及的指标也比较简单。您基本上可以通过FineBI 拖放数据字段来可视化它们。
下面动画以国产四大手机销量统计的词云图为例,简单展示一下可视化过程。这同样适用于其他人。
(如果想按照各大手机品牌进行统计,可以直接使用FineBI自定义品牌字段的分组)
分析结果
1、淘宝平台上,华为、小米、OPPO、VIVO四大国产手机总销量751万台,总销售额142.97亿。其中,华为品牌占总销售额的44.40%,淘宝销售额达到61.84亿,小米、VIVO、OPPO其他三个品牌分别占总销售额的28.98%、17.90%、8.72%。
2、从国产四大手机平均价格来看,VIVO和华为分别以2167元和2021元的价格位居前两位。 OPPO和小米以均价分别为1979元和1502元排名第三和第四。少量。小米手机价格相对便宜,但市场占有率还不错,仅次于华为;而VIVO和OPPO这两款国产手机一直被广大用户称为“厂姐手机”,但通过李易峰、彭于晏、鹿晗等明星、小鲜肉以及各大媒体渠道的积极代言,吸引了无数粉丝购买,也抢占了华为手机市场的很大份额。
最后
网络爬虫数据抓取,Python首屈一指。但对于数据统计和可视化呈现来说,操作方便、拖拽操作的FineBI对于数据分析新手来说绝对是一个很好的切入点。






























用户评论
每次看到"国产机"这几个词就忍不住想看一看效果怎么样!这篇博文正好满足我的好奇心~ 特别是比较价格的部分,真是让我眼界开阔呀,原来国产机真的可以这么实惠!
有20位网友表示赞同!
最近一直想换台新电脑,这款官方数据分析的可信度还挺高的,毕竟Python还是主流的编程语言。不过我还是比较关注使用体验和做工呢!
有7位网友表示赞同!
这篇文章太让我震惊了!我前段时间刚花了大价钱买了一台进口品牌的笔记本电脑,结果现在想想居然可以用相近性能国产机花费更少的价格,感觉自己买贵了好多????
有7位网友表示赞同!
数据分析的结论确实很明显,国产机的价格非常具有优势。不过也提醒大家要注意品牌质量和售后服务,毕竟便宜的不一定好用...
有11位网友表示赞同!
这篇文章写的挺不错,有数据支持,不像一些博主吹捧国产机的时候并没有实际依据。希望以后能看到更多这样的客观评测文章!
有11位网友表示赞同!
作为一名程序员,我很想知道这款国产机的性能如何,主要还是要看CPU和内存的配置是否能够满足使用需求呢!希望能看到这篇博文的后续内容,对国产机进行更深入的测评!
有17位网友表示赞同!
买了国产机的朋友们都说说你们的体验吧?这篇文章让我感觉国产机性价比的确很高...
有16位网友表示赞同!
进口品牌的电脑和国产机器还是有很大的差距啊,尤其是性能方面。不知道国产机在长时间使用后会不会出现问题?希望后续评测能够针对这个问题进行分析!
有18位网友表示赞同!
数据分析说的很有道理,价格实惠是国产机的最大优势,而且现在越来越多的国产品牌注重品质,我觉得值得入手!
有13位网友表示赞同!
感觉这个博主有点吹捧国产机啊,如果客观地说,进口品牌的电脑在某些方面还是比国产机器优秀。比如稳定性和售后服务,这些都是需要考虑的因素!
有16位网友表示赞同!
国产机越来越便宜了,但就怕质量跟不上啊!希望以后国产品牌能够注重产品的品质和细节,这样才能真正赢得消费者信任!
有6位网友表示赞同!
这篇文章让我对国产机有了新的看法。数据说话,价格实惠确实是国产机的优势,我还是非常期待国产品牌的进一步发展和创新!
有11位网友表示赞同!
数据分析确实很有参考价值啊,原来我买笔记本的时候被贵的价格忽悠了!国产机性价比高,还是值得考虑的...
有14位网友表示赞同!
觉得博主分析得比较全面,不仅对比了价格差异,还提到了品牌的售后服务和产品质量。这份客观的态度很让人欣赏!
有20位网友表示赞同!
我更注重产品的使用体验和性能,单纯的性价比对我来说不是最重要的因素。希望国产机在未来的发展中能够更加完善!
有8位网友表示赞同!
数据分析只能作为参考,最终还是要根据自己的实际需求选择合适的笔记本电脑。国产机虽然便宜,但也需要考虑自身的功耗、散热力和售后服务等综合因素!
有8位网友表示赞同!
其实我一直相信国产机器的发展潜力很大,价格实惠加上不断提升的品质,我觉得国产机未来一定有很大的发展空间!
有17位网友表示赞同!
我还是建议大家在购买电脑之前做好充分的功课,多比较不同品牌的型号和配置,找到最适合自己的产品!
有19位网友表示赞同!