【问题标题】:mechanize opening multiple pages机械化打开多个页面
【发布时间】:2023-03-10 11:35:02
【问题描述】:

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

这是我尝试过的

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

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

我发现的大多数示例和文档似乎只适用于一页。

【问题讨论】:

  • 您可能希望发布更多您的代码,很难仅在一行上发表评论.. :)
  • @sarnold:你是不是故意留下Broswer的错字?
  • @phooji,感谢您指出。我几乎不可能发现字符换位错字,我认为下划线来自括号。 :)
  • @sarnold:感谢您的修复。我不确定您是否将“尊重原始问题”带到了一个新的极端;)

标签: python beautifulsoup mechanize web-scraping


【解决方案1】:

您的代码是如何“死掉”的?如果它抛出异常,你可以捕获它并做一些事情来处理它(在你的循环中):

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

【讨论】:

  • 非常感谢 Phooji。它就像一个魅力。对不起,非常感谢您的帮助。我花了一天时间试图弄清楚这一点。再次感谢!
  • 呵呵,真棒“(但不是神秘死去)” :)
  • 哈哈。我对 python 非常好,重新开始编程,一切对我来说都是一个巨大的谜团。有什么比读几本书更好的学习方式,一起编写一些脚本,然后当我碰壁时像这里的人这样聪明的人会犯错 :-)
猜你喜欢
  • 1970-01-01
  • 2013-09-08
  • 2014-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多