爬取3w条『各种品牌』笔记本电脑数据,统计分析并进行可视化展示!真好看~... | 您所在的位置:网站首页 › 税银互动在哪里 › 爬取3w条『各种品牌』笔记本电脑数据,统计分析并进行可视化展示!真好看~... |
本文代码讲解已录成视频,欢迎扫码学习! 本文手撕代码过程 01 前言 在上一篇文章【教你用python爬取『京东』商品数据,原来这么简单!】教大家如何学会爬取『京东』商城商品数据。 今天教大家如何爬取『京东』平台里面『各种品牌』笔记本电脑数据约30000条进行统计分析,最后进行可视化展示(各种可视化图表真好看!!) 本文干货内容: 爬取京东商品所有笔记本电脑数据 数据存储到excel pandas对excel数据进行统计分析 绘制各种可视化图表 02 爬取数据 1.链接分析之前介绍了爬取其中的一种商品,这里需要爬取『各种品牌』,对应的链接也不一样,需要进行分析。 可以分析链接中,ev参数对应着品牌的名称,因此只需要更改ev参数就可以爬取不同品牌的笔记本数据。 避坑: 注意不要遗漏后面的括号:联想(lenovo),少了后面括号有一些品牌的数据无法爬取(亲测证明)。 此外不同品牌的笔记本商品数据总量(总页数)不一样,因此同样需要对应进行汇总,这里定义了字典去存储1.品牌名称和2.总页数。 brand_dict={ '联想(lenovo)':100, 'ThinkPad':100, '戴尔(DELL)':100, '惠普(HP)':100, '华为(HUAWEI)':100, 'Apple':100, '小米(MI)':47, '宏碁(acer)':43, '荣耀(HONOR)':21, '机械革命(MECHREVO)':31, '微软(Microsoft)':100, 'LG':3, '神舟(HASEE)':34, 'VAIO':3, '三星(SAMSUNG)':47, } 2.获取不同品牌笔记本数据 #李运辰 公众号:python爬虫数据分析挖掘 #遍历每一页 def getpage(brand_dict): global count for k, v in brand_dict.items(): page = 1 s = 1 brand = str(k) try: for i in range(1, int(v) + 1): url = "https://search.jd.com/search?keyword=笔记本&wq=笔记本&ev=exbrand_" + str(brand) + "&page=" + str( page) + "&s=" + str(s) + "&click=1" getlist(url, brand) page = page + 2 s = s + 60 print("品牌=" + str(k) + ",页数=" + str(v) + ",当前页数=" + str(i)) except: pass这里加入了try-except,防止其中某一页爬取失败,造成程序终止! 3.遍历每一页数据 #李运辰 公众号:python爬虫数据分析挖掘 ###获取每一页的商品数据 def getlist(url,brand): global count #url="https://search.jd.com/search?keyword=笔记本&wq=笔记本&ev=exbrand_联想%5E&page=9&s=241&click=1" res = requests.get(url,headers=headers) res.encoding = 'utf-8' text = res.text selector = etree.HTML(text) list = selector.xpath('//*[@id="J_goodsList"]/ul/li') for i in list: title=i.xpath('.//div[@class="p-name p-name-type-2"]/a/em/text()')[0] price = i.xpath('.//div[@class="p-price"]/strong/i/text()')[0]这里只获取商品标题和商品价格 4.数据存储到excel定义excel表头 #李运辰 公众号:python爬虫数据分析挖掘 import openpyxl outwb = openpyxl.Workbook() outws = outwb.create_sheet(index=0) outws.cell(row=1, column=1, value="index") outws.cell(row=1, column=2, value="brand") outws.cell(row=1, column=3, value="title") outws.cell(row=1, column=4, value="price") count = 2写数据并保存成笔记本电脑-李运辰.xls outws.cell(row=count, column=1, value=str(count-1)) outws.cell(row=count, column=2, value=str(brand)) outws.cell(row=count, column=3, value=str(title)) outws.cell(row=count, column=4, value=str(price)) outwb.save("笔记本电脑-李运辰.xls") # 保存这样我们的数据就已经爬取完成。 下面开始对这些数据进行统计分析,最后绘制可视化图。 03 可视化分析 1.展示每个品牌的数据量 pandas读取excel #李运辰 公众号:python爬虫数据分析挖掘 #读入数据 df_all = pd.read_csv("笔记本电脑-李运辰.csv",engine="python") df = df_all.copy() # 重置索引 df = df.reset_index(drop=True)统计分析 #李运辰 公众号:python爬虫数据分析挖掘 brand_counts = df.groupby('brand')['price'].count().sort_values(ascending=False).reset_index() brand_counts.columns = ['品牌', '数据量'] name = (brand_counts['品牌']).tolist() dict_values = (brand_counts['数据量']).tolist() 可视化展示 #李运辰 公众号:python爬虫数据分析挖掘 #链式调用 c = ( Bar( init_opts=opts.InitOpts( # 初始配置项 theme=ThemeType.MACARONS, animation_opts=opts.AnimationOpts( animation_delay=1000, animation_easing="cubicOut" # 初始动画延迟和缓动效果 )) ) .add_xaxis(xaxis_data=name) # x轴 .add_yaxis(series_name="展示每个品牌的数据量", yaxis_data=dict_values) # y轴 .set_global_opts( title_opts=opts.TitleOpts(title='', subtitle='', # 标题配置和调整位置 title_textstyle_opts=opts.TextStyleOpts( font_family='SimHei', font_size=25, font_weight='bold', color='red', ), pos_left="90%", pos_top="10", ), xaxis_opts=opts.AxisOpts(name='品牌', axislabel_opts=opts.LabelOpts(rotate=45)), # 设置x名称和Label rotate解决标签名字过长使用 yaxis_opts=opts.AxisOpts(name='数据量'), ) .render("展示每个品牌的数据量.html") ) 这里将不同品牌的标题文本写入到txt 1.Apple词云图 2.LG词云图 3.Thinkpad词云图 4.VAIO词云图 5.戴尔词云图 6.宏碁词云图 7.华为词云图 8.惠普词云图 9.机械革命词云图 10.联想词云图 11.荣耀词云图 12.三星词云图 13.神州笔记本 14.微软词云图 15.小米词云图 04 总结 1.讲解了如何用python爬取『各种品牌』笔记本电脑数据。 2.利用pandas对excel数据进行统计分析。 3.对统计数据进行动图展示,以及绘制各种精美词云图。 4.如果大家本文有什么地方不明白的可以在下方留言或者下方扫码观看本文代码讲解(手撕过程) 如果大家对本文代码源码感兴趣,扫码关注『Python爬虫数据分析挖掘』后台回复:笔记本分析 ,获取完整代码! 本文代码讲解已录成视频,欢迎扫码学习! 本文手撕代码过程 如果大家想加群学习,后台点击:加群交流 ------------- 推荐阅读 ------------- 往期精彩 1.教你用python爬取『京东』商品数据,原来这么简单! 2.教你用python爬虫下载1w+『ppt模板』,再也不用付费去购买啦! 3.python爬取7w+『赘婿』弹幕,发现弹幕比剧还精彩! 爬虫入门篇 1.今天只分享python、爬虫入门级学习资料 爬虫框架篇 1.以『B站』为实战案例!手把手教你掌握爬虫必备框架『Scrapy』 2.爬取1907条『课程学习』数据,分析哪类学习资源最受大学生青睐1 爬虫反爬篇 1.爬虫遇到反爬机制怎么办? 看看我是如何解决的! |
CopyRight 2018-2019 实验室设备网 版权所有 |