分析我们需要爬取的网站,发现京东网页只需通过keyword和page就可正常访问,且page的数值是奇数

爬取思路
首先获取一百页的商品信息,再在每一页中获取商品详情页的链接,并将每一个商品的店铺名获取下来(因为进入商品详情页有些商品是没有店铺名的),进入商品详情页,爬取的固定位置的值使用xpath获取,随机位置的值使用正则表达式获取。最后将内容保存到computer.json中(价格和评论数需另外获取),新建一个jdprice.py文件,读取json文件,并爬取价格和评论数,爬取完成之后,保存成computer.xlsx。以后的几天里,只需爬取价格和评论数即可,不需要再爬取其他字段。

过程
创建一个scrapy框架的爬虫项目,在cmd命令行输入scrapy startproject jd_computer 创建项目,然后进入jd_computer目录(cd jd_computer),创建一个编写爬虫的文件(scrapy genspider computer jd.com)

在item.py中定义我们需要爬取的字段(编号、商品名称、品牌、店铺名、价格、特性、内存、颜色、分类、评论数)

在computer.py中编写主要爬虫代码(爬取的字段没有的用无代替)

在settings中编写如下代码(设置USER_AGENT、爬虫协议、重定向、下载中间件、管道等信息)

在middlewares.py中编写如下代码

在pipelines.py中编写如下代码(先将编号、名称、品牌、店铺名、特性、内存、颜色、分类这些重复的值保存到json文件中,以后的几天了就可以不爬取这些值了,只爬取每一天的价格和评论数即可)

在jd_computer下创建一个运行类(main.py),编写如下代码

运行main.py,保存到2.json中,得到如下结果(有将近3000条数据,所以只截取部分)

因为保存到2.json中的文件json格式不正确。将2.json中的内容复制到一个txt文件中,把所有的 “}” 替换成 “},” 然后将最后一个逗号去掉,并在开始位置加入 {“computer”:[ 在结束位置加入]} 最后保存到项目下的1.json文件中(因为每一次运行price.py都会覆盖2.json),保存之后,发现json格式正确,不报红了

在jd_computer.py下的spiders目录下再创建一个爬虫项目(scrapy genspider jdprice.py jd.com),并在此文件中编写如下项目(https://p.3.cn/prices/mgets?skuIds=J_+商品编号即可得到一个价格的json数据,然后再从json数据中获取每一个商品的价格信息,
https://club.jd.com/comment/productCommentSummaries.action?referenceIds=+商品编号获取商品的评论数)

在jd_computer下创建一个price.py的运行类,并编写如下代码

运行结果(将此数据以tnumber为关键字进行升序排序,下图结果为部分结果,总条数为2993)

以后的几天运行price.py,爬取保存的结果也是以tnumber为关键字进行升序排序,之后将每一天的评论数和价格复制到总的数据表中

数据可视化
Tableau
打开Tableau Public 软件,连接数据,再将下图的字段类型改成字符、数字(编号tnumber的类型改为数字整数,价格的字段类型改为数字小数,评论数的字段类型改为数字整数,其他的字段类型均是字符串)

工作表一
将Category(类型)、Brand(品牌)、拖到列中,将Sheet(计数)拖到行中,将7-9的价格拖到颜色中,将7-10、7-11、7-12、7-13、7-14、7-15的价格、shop(店铺名)、tcolor(颜色)、tnumber(编号)、memory(内存)、评论数(创建一个计算字段7-15的评论数减去7-9的评论数)拖到详细信息中,就得到柱状图,如下图所展示的信息

工作表二
将brand(品牌)拖到列,将计数(sheet)拖到行,将category(分类)拖到颜色,将评论数(创建一个计算字段7-15的评论数减去7-9的评论数)拖到详细信息中,就得到如下图所展示的信息

工作表三
将Brand(品牌)拖到列,将category(分类)拖到行,将7-9的价格拖到颜色中,将评论数(创建一个计算字段7-15的评论数减去7-9的评论数)拖到标签中,将7-10价格、7-11价格、
7-12价格、7-13价格、7-14价格、7-15价格拖到详细信息中,就得到了热力图,结果如下图:

工作表四
将category(分类)拖到颜色中,将brand(品牌)拖到标签中,将评论数(创建一个计算字段7-15的评论数减去7-9的评论数)拖到标签中,就得到了树地图,结果如下图:

仪表盘
首先将仪表盘的大小设置为自动,将4个工作表拖到视图中去,并将第一张工作表作为筛选器,得到下图结果:

将仪表盘的阴影设置为黑色,将4个工作表的阴影设置为透明,并将字体颜色分别设为黄色、红色、橘黄色,得到最终的实验结果图:

ECharts可视化
折线图
创建一个ECharts项目,将从官网下载的echarts.min.js复制到ECharts下的js目录下,然后引入js,并编写如下代码

再从官网将折线图的案例复制下来,将legend中data中的值改为category(分类)中的值,代码如下图:

将xAxis中的data的值改为7-9日到7-15日的日期,具体代码如下图:

在Excel软件中打开7天总的数据.xlsx,用category进行筛选,然后再将7-9日的评论数求和,然后再将22100填充到series中的二合一笔记本中(其他数据同理)

经过统计,series中的代码为

在浏览器中运行的结果为

柱状图
在ECharts目录下,再创建一个index1.html文件,并编写代码,代码如下:

然后再在官网寻找柱状图的案列,并复制下来。在Excel中筛选的数据(类型为二合一笔记本)

Index1.HTML中的代码(将类型为二合一笔记本一星期价格信息展示)

保存之后,在浏览器中运行的结果为下图

爬取京东网站前后一星期的笔记本电脑信息并可视化相关推荐

  1. python爬取京东商品图片_python利用urllib实现爬取京东网站商品图片的爬虫实例

    本例程使用urlib实现的,基于python2.7版本,采用beautifulsoup进行网页分析,没有第三方库的应该安装上之后才能运行,我用的IDE是pycharm,闲话少说,直接上代码! # -* ...

  2. 利用代理IP爬取京东网站手机数据

    1.代理简介 在爬虫过程中如果经常用自己的IP进行爬虫会出现IP被封的可能,这就要用到代理技术,通过爬取代理网站的IP地址,每次爬取页面就随机选择一个IP地址进行爬取,这样就会降低IP被封的可能性. ...

  3. Python爬虫—爬取某网站上面所有的世界港口信息数据

    最近学习了一段时间的Python基础语法后,写了一个爬取世界港口数据的爬虫,并且保存到SQL Server 数据库. 前提 公司之前有个需求是想监控集装箱如果进出某个港口的时候能给出信息提示,并且与海 ...

  4. 简单易懂 爬取某网站卫衣数据(python)及数据可视化分析(matplotlib、pyecharts)

    爬取网址: http://search.dangdang.com/?key=%CE%C0%D2%C2&category_id=10010336&page_index=1 前言 利用py ...

  5. 正则爬取京东商品信息并打包成.exe可执行程序。

    本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取100页(共100页) 代码如下: import requests import re # 请求头 head ...

  6. 利用scrapy爬取京东移动端的图片素材和商品信息

    有一个练习项目需要一些带分类信息的商品测试图片,从现有的电商网站爬取是个不错的选择.刚好最近又在练习scrapy的使用,这一篇记录一下用scrapy爬取京东的图片素材并保存商品信息的思路. 文中代码共 ...

  7. python 爬网站 实例_python爬虫实战:之爬取京东商城实例教程!(含源代码)

    前言: 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1 ...

  8. 爬取京东网页评论(动态网页)

    1.当网页打开的方式不同时,在开发者选项找到的包含评论的文件地址不同,比如第一种,当我们找到的评论界面是含有下一页选项的时候(如下图).我们在左边文件界面发现包含评论的网页地址名字为''product ...

  9. Scrapy练习——爬取京东商城商品信息

    刚刚接触爬虫,花了一段时间研究了一下如何使用scrapy,写了一个比较简单的小程序,主要用于爬取京东商城有关进口牛奶页面的商品信息,包括商品的名称,价格,店铺名称,链接,以及评价的一些信息等.简单记录 ...

最新文章

  1. list.php tid= field,织梦CMS初试-套用指定的html模板,解析内容列表【笔记】
  2. iOS: 转载CoreData数据库框架
  3. php 上个月天数,php日期所在月的天数_PHP教程
  4. [云炬创业基础笔记]第十一章创业计划书测试10
  5. 彻底解决Ubuntu 执行make xconfig出错
  6. 设计模式3:装饰模式
  7. 实训计算机硬盘分区的心得体会,计算机实训的心得体会3篇
  8. 聚焦北京,探秘多媒体开发新趋势(内附资料下载)
  9. lucene学习的小结
  10. sysbench压力工具报错:
  11. 寻找中项和第k小元素c语言,寻找一个序列中第k小的元素——分治法
  12. java接口深入理解_深入理解Java的接口和抽象类
  13. gets和puts基本用法。
  14. 0922CSP-S模拟测试赛后总结
  15. 小程序项目:基于微信小程序的科普之家小程序—计算机毕业设计
  16. 3种常见的数据库迁移同步工具对比,哪个更适合你?
  17. Python多进程编程及多进程间的通信,数据传输
  18. ubuntu20.04安装NVIDIA显卡驱动 /dev/nvme0n1p8:clean
  19. Adobe illustrator插件开发-颜色对话框-AIColorHarmonySuite-AISwatchLibrariesSuite-AISwatchGroupSuite-AI插件开发
  20. Win2K”秘密武器”之删除工具(转)

热门文章

  1. 什么是AUTOSAR规范?
  2. Effective Java(第3版) 90条经验法则
  3. Bugku-CTF (web 持续更新) ——新手ctf记录
  4. 使用crow创建一个c++的web服务
  5. php dateparse,PHP date_parse_from_format() 函数用法及示例
  6. 微软域服务器关闭445,服务器在已经屏蔽 445,135,137,138,139;69端口后依然由于bugcheck重启...
  7. 单片机中如何将BCD码拆开_单片机中 BCD码转换
  8. 游戏开发中2D场景下实现伪3D碰撞检测方法
  9. 暗影精灵4适合计算机专业,暗影精灵4什么时候出?今日发布,为专业电竞而生...
  10. 诺基亚 Lumia 920T 今日发布 处理器升级