点击“简说Python”,选择“置顶/星标公众号”
福利干货,第一时间送达!
@图片自制by小si
一、前言
二、知识要求三、过程分析1.观察主页面和每个电脑界面的网址2.寻找每个电脑的id3.找到存放电脑的价格和评论数的信息4.爬取信息的思路四、urllib模块爬取京东笔记本电脑的数据、并对其做一个可视化实战五、可视化结果1.运行结果2.可视化结果
//本文作者
王豪:行路难,多歧路,今安在,埋头苦改bug会有时,直到bug改完才吃饭。
//阅读文本大概需要 5 分钟。
一、前言
作为一个程序员,笔记本电脑是必不可少的,我这里对京东上的前2页的笔记本的好评论数,价格,店铺等信息进行爬取,并做一个可视化,根据可视化的图,大家可以清晰的做出预测,方便大家购买划算的电脑。当然,我这里前2页的数据是远远不够的,如果大家想要预测的更精准一些,可以改一下数字,获取更多页面的数据,这样,预测结果会更精确。
二、知识要求
会抓包分析
三、过程分析
1.观察主页面和每个电脑界面的网址
(1)观察具体界面的网址,我们可以猜测,具体每个界面都有一个id,通过构造网址
https://item.jd/【id】.html
,就可以得到具体每个界面的网址。
(2)观察主界面的网址,我们发现
page=
的属性值就是具体的页码数,通过构造page的值,我们可以实现自动翻页爬取信息。对主界面网址一些不必要的信息剔除,最后得到主界面翻页的网址规律
https://list.jd/list.html?cat=670,671,672&page=【页码数】
同过以上的分析,我们可以看见,获取信息的关键就是每个电脑的具体id代号,接下来,我们的任务就是要找到每个电脑的id。
2.寻找每个电脑的id
(1)首先,看看网页源代码中是否会有每个电脑的id
我们再进入到刚刚搜索的哪个电脑名称的具体界面,发现,确实是他的id
(3)根据id附件的一些属性值,唯一确定所有电脑id
根据
class="gl-i-wrap j-sku-item"
属性值定位,发现,唯一确定60个id,数了一下界面上的电脑,一页确实是60个电脑,所以,电脑的id获取到了。
(4)同理,根据
<div class="p-name">
属性值获取具体每个电脑的网址和电脑名,这样我们连具体每个电脑的网址都不用构造了,直接可以获取。
3.找到存放电脑的价格和评论数的信息
(1)通过到网页源代码中去找,发现完全找不到,所以,我猜测这些信息隐藏在js包中。fiddler
抓包工具,进行抓包分析。
可以看见,这些信息确实是在js包里面,复制该js包的网址,然后分析。
(3)分析有如下结论:
这里,我也抓到了存放店铺的js包,但是,这个js包的地址每次有一部分是随机生成的,所以,获取不到每台的电脑的店铺名。但是,我有每台电脑的具体网址,而该界面里面有该电脑的店铺,所以,我可以访问每台电脑的具体界面去获取到店铺消息。
4.爬取信息的思路
(1)先爬每页的信息
四、urllib模块爬取京东笔记本电脑的数据、并对其做一个可视化实战
爬虫文件:(建议大家边看边敲一遍,更加有利于学习)
五、可视化结果
1.运行结果
2.可视化结果
评论数条形统计图:
店铺扇形统计图:
可以看见联想的电脑买的最好。
如果你觉得文章还不错,请大家点赞分享下。你的肯定是我最大的鼓励和支持。
仔细阅读下面四篇文章,2小时快速掌握Python基础知识要点。完整Python基础知识要点
学Python | 聊赚钱
更多推荐
Python爬取京东笔记本电脑,来看看那个牌子最棒
发布评论