Python机械化等待

时间:2014-11-18 04:31:05

标签: python mechanize mechanize-python

使用机械化,如何在页面加载后等待一段时间(某些网站在链接出现之前有一个计时器,如下载页面),并且在加载链接后,单击特定链接? 因为它是一个锚标签而不是一个提交按钮,所以browser.submit()会起作用吗(我这样做时出错了)?

2 个答案:

答案 0 :(得分:3)

Mechanize不提供javascript功能,因此您不会看到动态内容(例如转换为链接的计时器)。

就点击某个链接而言,您必须找到该元素,然后您可以在其上调用click_link。请参阅this siteFinding Links部分。

如果您正在寻找处理此类网站的内容,一个不错的选择是PhantomJS。它使用nodejs,但在webkit引擎上运行,允许您解析动态内容。如果您的心脏设置在python上,使用Selenium以编程方式驱动真正的浏览器可能是您最好的选择。

答案 1 :(得分:0)

如果它是一个锚标记,那么只需要GET / POST。

出现的链接之间的计时器通常是在javascript中完成的 - 您尝试抓取的某些网站可能无法在没有javascript的情况下使用,或者需要在javascript中使用客户端数学生成的令牌。

根据网站的不同,您可以提取等待时间(以毫秒/秒为单位)和time.sleep(),或者您必须使用可以执行javascript的内容