python - Mechanize 打开多个页面

标签 python beautifulsoup mechanize web-scraping

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

这是我尝试过的

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

但它会转到下一页,这很好,但如果“下一步”按钮不存在,它就会死掉。我不确定如何做一个更好的循环,或者在运行上面的 follow link 命令之前真的只是检查链接是否存在。

我发现的大多数示例和文档似乎只能在一页上使用。

最佳答案

您的代码如何“消亡”?如果它抛出异常,您可以捕获它并做一些适当的处理(在您的循环内按原样):

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

关于python - Mechanize 打开多个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5188518/

相关文章:

Python - 覆盖多个url的网页抓取数据表

python - beautifulsoup .select 不返回任何内容

javascript - Python Mechanize : Web Forms with Javascript

python - 如何将 Flask 登录与 Dash 应用程序合并?

python - 大多数面向对象的方式来创建和读取多个选项的列表?

python - 在buildout.cfg中指定优先级取蛋

python - C++ OpenCV 中的快速索引

python - 从 html 页面中删除所有样式、脚本和 html 标记

python - 使用 Python Mechanize 自动登录表单时遇到问题

perl - WWW::Mechanize::Firefox 运行良好:一些尝试使脚本更健壮