2011-03-04 57 views
2

我正在使用mechanize和beautifulsoup创建一个python脚本来从网页中提取一些数据。抓取工作正常,但我遇到的问题是移动到多个页面。有没有办法在循环中机械化页面之间移动?机械化打开多个页面

这里就是我试图

Browser().follow_link(text_regex="Next") 

,但它进入下一个页面这是很好的,但如果“下一步”按钮,它不存在,只是死亡。我不知道如何做出更好的循环,或者在运行上面的follow link命令之前检查链接是否存在。

我发现的大多数示例和文档似乎只能在一个页面上工作。

+0

你可能希望发布更多的代码,很难发表评论,只是一条线。 :) :) – sarnold 2011-03-04 01:13:41

+0

@sarnold:你有意离开'Broswer'错字吗? – phooji 2011-03-04 01:16:33

+0

@phooji,谢谢你指出。字符转换错别字几乎不可能发现,我认为下划线来自括号。 :) – sarnold 2011-03-04 01:24:04

回答

1

你的代码如何“死掉”?如果它抛出一个异常,你可以捕捉它,并做一些属性格式处理它(你的循环中为是):

try: 
    Browser.follow_link(text_regex="Next") 
except Exception: 
    print "No more next button; terminating loop (but not dying mysteriously)" 
    break 
+0

非常感谢你Phooji。它像一个魅力。对不起,我非常感谢你的帮助。我花了一天的时间来解决这个问题。再次感谢! – Lostsoul 2011-03-04 01:30:43

+0

嘿嘿,真棒“(但不会神秘地死去)”:) – sarnold 2011-03-04 01:32:00

+0

哈哈。我非常高兴python回到编程中,对我来说一切都是巨大的谜团。有什么更好的学习方式,然后阅读几本书,一起破解一些脚本,当我碰到墙壁时,就会遇到像这里的人一样的聪明人.-) – Lostsoul 2011-03-04 01:36:34