Python - 如何抓取多个动态更新的表单/网页?

时间:2015-10-08 22:11:48

标签: javascript python html selenium-webdriver web-scraping

我一直试图抓取一个动态更新的网站,每个网页包含数百行,而且该网站总共有数千页(因为每个页面都可以通过点击"下一个&#来访问) 34;页面底部的按钮或数字,就像您在Google搜索页面底部看到的那样。)

虽然我已经能够成功地抓取页面,但我在结果中获得100%的准确性是因为页面是动态更新的(javascript)。当用户登录到他们的帐户时,系统会将他们放回到第一页的第一行的最顶部。因此,例如,如果我正要刮第101页,而我在第100页,而第101页上的用户登录到他们的帐户,那么我会想念该用户的信息。考虑到活动量,这可能很成问题。

我尝试在凌晨运行我的自动化,但意识到世界各地都有用户,所以这是一个失败。我也无法并行抓取页面,因为表单是通过javascript访问/上传的,我必须使用Selenium一次点击一页。 (每页没有唯一的网址;我也尝试通过浏览器的“网络”标签查看,但是当我点击其他网页时,没有变量发生变化)。我也尝试访问API following the instructions on here,但我能够获得的链接仅显示当前页面上的信息 - 因此它与我通过HTML源访问的内容没有什么不同。

我有什么选择? 我是否可以立即获取所有信息,以便我不会丢失任何信息?

我知道会有人要求提供网址,但不幸的是我无法将其弃去。即使我这样做,我也无法泄露用户名和密码。我是网络抓员的初学者,所以非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

如果您在没有问题的情况下多次点击页面,并且信息永远不会消失,请尽可能快地浏览所有页面,一遍又一遍。在Selenium中,您可以使用相同的cookie同时控制多个选项卡和/或浏览器,以便更快地进行拼接。