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

标签 javascript python html selenium-webdriver web-scraping

我一直在尝试抓取一个动态更新的网站,每个网页包含数百行,并且该网站总共有数千个页面(因为每个页面都是通过单击“下一个”按钮或上面的数字来访问的)页面底部,就像您在 Google 搜索页面底部看到的那样)。

虽然我能够成功抓取页面,但我的结果很难获得 100% 的准确度,即因为页面是动态更新的 (javascript)。当用户登录其帐户时,系统会将其放回到第一页第一行的最顶部。因此,举例来说,如果我正要抓取第 101 页,而我正在第 100 页上,并且第 101 页上的用户登录到他们的帐户,那么我会错过该用户的信息。考虑到事件量,这可能会带来很大的问题。

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

我有什么选择? 有什么办法可以让我一次捕获所有信息,这样我就不会丢失任何信息吗?

我知道会有人询问 URL,但不幸的是我不能透露它。即使我这样做了,我也不能泄露用户名和密码。我是网络抓取的初学者,因此非常感谢任何帮助!

最佳答案

如果您可以任意多次点击该页面,并且信息永远不会消失,那么只需尽可能快地一遍又一遍地浏览所有页面即可。在 Selenium 中,您可以使用相同的 cookie 同时控制多个选项卡和/或浏览器,以使您的抓取速度更快。

关于javascript - Python - 如何抓取多个动态更新的表单/网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33026794/

相关文章:

python - 在字符串Python中查找最后一次出现的字符

javascript - 如何使用jquery在html中选择带有嵌套表的特定元素

python - 如何得到一族独立的通用哈希函数?

css - 通过具有半径的 div 删除不可见的承载

javascript - Angular js 将 'file' 类型更改为 'text' 类型 [Safari]

带时区的javascript时钟

javascript - 我怎么会误解这个例子中的 JavaScript 闭包解析?

Javascript:在没有 Sum 的情况下添加数字?

javascript - 替换两个标签之间的 HTML

python - 将数字列表操作成列或单独的列表以在 Python 中绘图