【问题标题】:BeautifulSoup: Within WebpageBeautifulSoup:网页内
【发布时间】:2014-04-30 20:48:16
【问题描述】:

我刚刚安装了 BeautifulSoup。我可以使用 BS 提取所有链接,但我不能使用它在网页内导航。有没有办法提供主 URL 并从网页中的链接中提取所有信息?

【问题讨论】:

  • 问题解决了吗?

标签: python html web-scraping html-parsing beautifulsoup


【解决方案1】:

您仍然可以将BeautifulSoup 用于网页中的extracting links。要关注他们,您可以坚持使用urllib2 或使用requests

另一个更适合您需求的选择是使用Scrapy web-scraping 框架。它内置了link extracting mechanism

LinkExtractors 是其唯一目的是从中提取链接的对象 最终将是网页(scrapy.http.Response 对象) 跟着。

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    我发现lxml 比 BeautifulSoup 更高效、更易于使用,甚至强大

    在许多情况下(可能与编码有关?)BeautifulSoup 会为我解析一些损坏的网页而失败。 lxml 结果与网络浏览器看到的结果接近,并且在这些损坏的页面上效果更好。

    提取链接很简单:

    美汤:

    for a in soup.findAll('a'):
        # Do something with a['href']
    

    lxml:

     for href in doc.xpath('//a/@href'):
         # Do something with "href"
    

    备用lxml:

     for a in doc.xpath('//a'):
         # Do something with a['href']
    

    请参阅有关如何解析文档的文档。

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-23
      • 2018-04-25
      • 2014-06-20
      • 1970-01-01
      相关资源
      最近更新 更多