一个爬虫入口选择失误引发的坑

网友投稿 584 2022-05-29

大家好,我是四毛.

今天来分享一个爬虫的案例,讲一下这个坑到底是怎么样的一个坑。

开始

目标网址:

http://guba.eastmoney.com/list,cjpl_1.html

目标数据:页码数

本来想着,这种数据都应该在网页源码里的,结果找了一圈,发现没有,源代码是这样的:

压根没有关于页面的文字,但是大家请注意data-pager属性对应的值,这个在我分析完以后我才发现原来有这个就够了。

没办法,抓包分析吧,在XHR和JS下面没有找到直接这部分数据,那么说明就是JS生成的了。在这里,我把返回的的JS都找了一遍,用‘page’做关键词搜索,然后在下面的这个JS里面找到了相关的函数:

http://gbfek.dfcfw.com/gubav5/js/list_c_0924cbd988.js

可以看到,我们在网页上看到的页数的相关信息确实是通过JS生成了。那么我们可以怎么处理呢?是不是非得用selenium之类的呢?其实未必。

看完这段JS的时候,我一直再找具体的文章总数或者页面总数的值,但是一直没有找到。后来想起来前面说的data-page属性里面似乎有一个比较大的值,没错,就是下面这个:

想着难道这个数是文章的总数?

后来拿着计算器算了一下,确实是的。。。

531299, 文章总数

记一个爬虫入口选择失误引发的坑

80, 每个页面的文章数

2 ,当前页面

接下来的爬虫就可以直接用个除法就得到结果了。

后来,当我打开另一个股吧时,我看到了这个:

一口老血吐在键盘上,为什么我找的入口上面没这个,费了那么多事情。

所以这个坑就是如果一开始看到上面的这个页面,就可以一下子就知道

这里的数字的意义了。但是分析分析js,也可以增强解决问题的能力,毕竟不是每个网站都这么傻把数据就放在源码里了。

总结

所以建议大家写爬虫时,一定要找一个好一点的入口,多找找多翻翻,有好处。

爬虫 python

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《深度学习之TensorFlow入门、原理与进阶实战》—2 搭建开发环境
下一篇:(更新时间)2021年5月12日 redis数据库 Redis面试题
相关文章