记一个爬虫入口选择失误引发的坑
大家好,我是四毛.
今天来分享一个爬虫的案例,讲一下这个坑到底是怎么样的一个坑。
开始
目标网址:
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,也可以增强解决问题的能力,毕竟不是每个网站都这么傻把数据就放在源码里了。
总结
所以建议大家写爬虫时,一定要找一个好一点的入口,多找找多翻翻,有好处。
- 点赞
- 收藏
- 关注作者
评论(0)