Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用mechanize和python跟踪javascript链接_Javascript_Python_Web Scraping_Mechanize - Fatal编程技术网

使用mechanize和python跟踪javascript链接

使用mechanize和python跟踪javascript链接,javascript,python,web-scraping,mechanize,Javascript,Python,Web Scraping,Mechanize,我正在做一些网页抓取,项目几乎完成了,除了我需要点击一个javascript链接,我无法解决如何使用Python和mechanize 在其中一个页面上,会出现一个javascript链接列表,我想依次跟踪它们,收集一些数据,然后重复。我知道mechanize不适用于javascript,但有人知道解决方法吗?下面是我用来隔离链接的代码: for Auth in iterAuths: Auth = str(Auth.contents[0]).strip() br.find_li

我正在做一些网页抓取,项目几乎完成了,除了我需要点击一个javascript链接,我无法解决如何使用Python和mechanize

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

for Auth in iterAuths:
     Auth = str(Auth.contents[0]).strip()
     br.find_link(text=Auth)
现在如果我执行
br.follow\u link(text=Auth)
,我会得到一个错误
urlib2.urleror:

如果我执行打印br。单击链接(text=Auth'),它将作为请求javascript:SendThePage('5660')


我只需要通过javascript链接。有人能帮我吗?

当我需要做类似的事情时,我查看了我试图遵循的链接

其中一些是使用javascript生成的静态链接。它们是可预测的/一致的,因此我可以提前手动生成一个列表

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

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


我没有任何示例代码,但这3个解决方案中的一个将适用于您:)祝您好运你有任何资源安装PYV8,我有一些麻烦。@在这一点上一直困惑,我只考虑使用幻灯片后端使用硒,这样你就可以无头运行。这个工作流程已经发展到现在,而mechanize已经死了。