前些日子,朋友突然告诉我说帮我写份代码,抓一下金融数据,首先我一看到页面,
感觉 嗯 不难,然后动手写代码, 代码完成运行的时候发现什么也没有,再去看页面的ajax发送的url,发现原来有个加密字段,,太粗心了!!没有思路,看看js代码是怎么生成的,,发现是前端随机生成的,我的天,这么一顺思路知道为什么代码没有东西了,因为他的随机数打开一次网站只用一次,我拿了用过的随机数用代码去运行,嗯 是这样的,顿时脑子混乱了,怎么搞?怎么搞???但是,作为码农怎么能够轻言放弃???换个思路接着搞,selenium,自动化测试工具,嗯,很强大,尤其是对于爬虫来说如虎添翼,不就是随机数验证么,selenium就能够完美解决。
接下来分享一下用自动化测试工具爬某金融数据的思路:我们利用selenium控制谷歌浏览器,这样随机码也不需要我们去想办法生成,嗯,攻克一个问题。接下来还有第二个,在网站的打开页面会有弹窗让我们等待五秒钟,嗯 ,我写了代码没起到作用,不过这个不是问题,先略过,我们采用粗暴的形式 代码延时操作,我们手动点击弹窗按钮,,然后我们根据标签的属性采用selenium的标签选择器(嗯,我一般都这么叫他),去保存标签的内容,随后代码click点击下一页按钮,嗯,点击按钮没有问题下一页可以跳转,但是还是没有数据,天呀小脑瓜子生疼。突然想法如雨后春笋一样蹭蹭的冒,我可以把页面先生成dom树,然后用xpath解析,嗯,,接着尝试一下,更换代码,历时五个小时终于按照思路完成了循环爬取拿到15W的数据。
第一次写博客,小手生疏,只是说一下自己的思路,代码就不放了,有兴趣的可以私信我,我看到会回复,给你代码不如帮你扩展思路,授人以鱼不如授人以渔。