【问题标题】:Python Scrapy Skip Named Anchor And Miss LinkPython Scrapy Skip 命名为 Anchor 和 Miss Link
【发布时间】:2013-09-20 17:21:03
【问题描述】:

当我从 urllib2+bs4 切换到 Scrapy 时,我注意到 Scrapy 在默认设置中“巧妙地处理”了一些问题。如果我错了,我不太确定我是否正确。

(1) 默认情况下,Scrapy 不会抓取重复的 URL,那么什么是重复的 URL?我注意到,在 Scrapy 爬取的 URL 中,没有"fragment" or "named anchor",例如,他们将下面的链接视为相同。我知道这是合乎逻辑的,因为它们实际上是同一页面,但是....我不知道这对于可能需要此功能的某些人是否是个好主意。

www.abc.com/page1
www.abc.com/page1#top
www.abc.com/page2#bot 

(2) 默认情况下,Scrapy 只跟随a or area tag 下的链接。它会错过 LINK 标签下的一堆 URL,我不是 Web 开发人员,但可能有其他标签可能包含不在默认设置中的 URL。

我不是在这里批评 Scrapy,只是想确保我写下的这两个发现是真实的,而不是我的偏见误解,希望对那些想要链接标签下的 URL 或想要命名锚点的人有所帮助。

谢谢!

【问题讨论】:

    标签: python screen-scraping scrapy


    【解决方案1】:

    关于您的第二点(问题?),关于aarea 标签以外的链接,请参阅this page in the Scrapy documentation。要点是您可以通过将tags 传递给SgmlLinkExtractor() 来指定要在哪些标签中查找链接,其中tags 是字符串列表,默认为('a', 'area')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-26
      • 2012-04-20
      • 1970-01-01
      • 1970-01-01
      • 2022-12-22
      • 2021-03-26
      • 2014-02-23
      相关资源
      最近更新 更多