【问题标题】:Web Scraping by using "Next" button Python使用“下一步”按钮 Python 进行网页抓取
【发布时间】:2017-05-10 07:17:51
【问题描述】:

我正在收到一个网页的评论,我需要扫描每个页面,直到没有评论为止。评论页面有多个页面,我的第一个想法是使用 While 循环,但是,我不确定从哪里开始。网页的 HTML 代码看起来与此类似。

HTML 代码在最后一页;

感谢任何帮助。

【问题讨论】:

  • 显示到目前为止您尝试过的代码。也分享最后一页的HTML
  • 检查 URL 是否有页面作为参数。如果是这样,您不需要使用下一步按钮。对于解析html,我建议BeautifulSoup
  • URL 没有页面参数。我想不出循环的东西。非常欢迎任何代码建议。 @安德森
  • 在最后一页显示HTML 代码Next 按钮
  • 在最后一页上,下一个按钮不存在,因此没有相应的 HTML 代码。我刚刚编辑了我的问题并添加了最后一页的 html 代码。 @安德森

标签: python python-2.7 selenium beautifulsoup


【解决方案1】:

在可以找到的时候尝试点击Next

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException

driver = webdriver.Firefox()
driver.get("http://www.some_site.com")
while True:
    # do whatever you want
    try:
        driver.find_element_by_xpath('//a/span[text()="Next"]').click()
    except NoSuchElementException:
        break

【讨论】:

  • 我收到此错误:NameError:未定义全局名称“驱动程序”。我之前没有使用 Selenium,我的代码使用 urllib2 请求和 BeautifulSoup 解析。 @安德森
  • 答案已更新。如果您使用http 请求获取页面HTML 源,那么您为什么需要selenium
  • 为了使用类似浏览器的html代码,点击下一步按钮。除了 Selenium,我找不到任何其他直接的方法来做到这一点。
  • 我的回答有帮助吗?你摆脱异常了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-09
  • 1970-01-01
  • 2011-10-21
  • 1970-01-01
  • 2020-10-04
相关资源
最近更新 更多