我想建立一个僵尸网络爬虫 - 来收集电话号码。
我遇到了一个问题:要查看电话号码,用户必须点击“"显示"”等内容。 我该如何解决这个问题?
答案 0 :(得分:2)
检查点击按钮的行为。它是否称为Javascript函数?这会对后端进行HTTP调用吗?如果是这样,您的机器人应该进行该调用而不是屏幕抓取第一页。如果没有,它是否只是使用页面的DOM来显示屏幕上的项目?
答案 1 :(得分:1)
您正在寻找的所有数据都来自某种后端,因此如果您在浏览页面时查看浏览器的开发人员工具,通常可以找出对脚本的调用以便得到数据。
有可能使这更难(这是一些网站保护自己免受刮擦)。通常情况下,如果您处于这种情况,您所做的事情并不完全合法或不合适。但从技术上讲,它非常有趣,所以这里也是。
最好的方法是在真实的浏览器(如PhantomJS或Chrome)中运行网站,并使用像Webdriver这样的框架来模拟浏览器交互。通过这种方式,您可以将大部分数据拉出来。
如果您发现您的IP被阻止,您可以使用Tor并动态使用多个实例来访问该网站...但是如果您当然允许这样做,请确保您很好地询问网站所有者。