动态网页数据获取实战

写在开始

做了好久的鸽子了,主要是上几篇的博客的阅读量实在是惨淡。上几篇博客多事笔记内容为主,面向没有接触过该领域的小白,看来不太受欢迎,也可能是写得不咋地(小声逼逼)。经过几个月的积累,又做了不少的项目,是时候再写点东西啦!

动态网页的数据怎么获取呢?这篇博客手把手教你get数据。

https://wp.m.163.com/163/page/news/virus_report/index.html?nw=1&anw=1

我们这次先从入门级的来,毕竟要学会走才能跑嘛。

流程实现

找到要爬取的源网站之后,做的第一件事永远是分析网页结构,这也是最复杂的一步,需要不断地尝试去积累经验。

一般的爬虫教程都是在静态网页上做的,而我们这次要面对的就是动态网页。动态网页的爬取方式和静态网页的爬取方式有着蛮大的不同,废话不多说,动手吧!

1.网页F12大法 对一个网页进行分析,对于静态网页来说是看源代码,如下图所示: 红框标出的可是神器,你只要能在前端网页看到的元素,你都可以用这个神器找到某元素在源代码中的位置,不用让你像剥洋葱一样,一层一层地拨开它的心,估计你真的会流泪! 但是当我们看到页面下面的图表的时候,这个神器就不管用了,因为前端的图表已经踏入另外一个领域了,就是动态网页。比如下面这一张图 你去刚刚的神器去找,你会得到下面的这串代码,图表中的信息这么多,咋代码就这么一行? 因为有些东西被图表给藏起来了,是啥呢?没错,就是数据!我们要用爬虫挖掘的宝藏就是这个!但是知道有宝藏了,它藏在哪里呢?那么就教你动态网页的“寻龙诀”!

在F12页面找到Network的界面,如下图所示: 为啥一篇空白呢?因为这个时候网页页面已经渲染完了,我们需要的就是轻轻敲一下F5,让页面重新刷新,将页面渲染的过程捕获。 好的,这样我们就找到了藏宝之地,接下来就是掘地三尺,把数据挖出来! 经过一番苦苦搜寻,每个文件一个个点开查看,我们挖到最终的宝藏! 点开第一个文件,发现网页的URL是这样的,这个URL带有JQuery的参数,不能被我们所用,需要把后面的参数删掉 看下数据的格式,是json的数据格式,这是十分常见的动态网页数据格式,对读取操作十分友好。可能有些小伙伴第一次看到这种格式的数据,所以我们用点工具让数据变得好看些!

工具网址

把网页中的JSON数据全选,然后复制到工具网站就发现格式变得清晰了。 有些小伙伴对数据处理可能有一定的了解,会发现其实这就是一个复合字典。

2.编码实现 前面铺垫了这么多网页解析的内容,如果大家耐着性子看完了,那么希望你能从中有所收获。

当个CV战士是没有什么意思的,毕竟每次你遇到的东西是不一样的,要知道怎样去解决问题,然后用代码实现才是核心。

下面就实现一个爬取各项数据,并且本地保存csv文件

这样就把数据爬下来啦,并且保存在本地,保存成csv文件方便后续的读取与处理

总结

本次就简简单单地实现了一个数据的爬取工作,我不给太多代码是希望小伙伴们能够看着这一个例子能够举一反三。

对了,上面不是还提供了一个网页新闻的网页嘛,就供大家练习使用啦!说它是进阶版肯定是有道理的,就等着你们自己去探索啦!

如果之后有机会的话,对这篇爬取的数据进行处理可视化的教程也会出一篇博客,敬请期待!

结语

经验分享 程序员 微信小程序 职场和发展