javascript - 使用 mechanize 和 python 跟随 javascript 链接

标签 javascript python web-scraping mechanize

我正在做一些网络抓取,项目几乎完成,除了我需要单击一个 javascript 链接,我不知道如何使用 Python 和 Mechanize 。

在其中一个页面上,出现了一个 javascript 链接列表,我想依次关注它们,抓取一些数据,然后重复。我知道 mechanize 不适用于 javascript 但有人知道解决方法吗?这是我用来隔离链接的代码:

for Auth in iterAuths:
     Auth = str(Auth.contents[0]).strip()
     br.find_link(text=Auth)

现在如果我做 br.follow_link(text=Auth) , 我得到一个错误 urllib2.URLError: <urlopen error unknown url type: javascript> .

如果我这样做 print br.click_link(text=Auth') , 它打印为 Request for javascript:SendThePage('5660')

我只需要通过 javascript 链接即可。谁能帮忙?

最佳答案

当我需要做类似的事情时,我会查看我试图访问的链接。

其中一些是使用 javascript 生成的静态链接。它们足够可预测/一致,以至于我可以事先手动生成一个列表。

其他只是构造带有参数的 URL。这些也可以事先进行分析并生成 python 端并作为请求传递而不是“单击此链接”。

如果您需要实际执行 javascript,您可以运行 PyV8 + Mechanize 混合体。我一直在玩这个,看起来很酷。 PyV8 将 Python 与 V8 Javascript 引擎连接起来,允许您创建 JS 环境并执行任意代码。它可以很好地在两种语言之间来回切换。

我没有任何示例代码,但是这 3 种解决方案中的一种适合您 :) 祝你好运!

关于javascript - 使用 mechanize 和 python 跟随 javascript 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18809962/

相关文章:

javascript - ajax、php 和 mysql 连接问题

javascript - PHP Ajax - 如何判断模式是否会弹出?

r - rvest 和选择器小工具的网页抓取问题

r - 在 R 中使用 download.file 下载时跳过错误文件

r - 使用 R 接受 cookie 以下载 PDF 文件

javascript - 这些代码有什么区别?

javascript - 主干提取未正确提取

python - 在 matplotlib imshow 函数中更改像素形状

小写时python3 unicode失败

Python:在重新分配外部函数后,闭包如何继续存在?