2

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

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

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

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

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

谢谢!

4

1 回答 1

0

至于您的第二点(问题?),关于除aorarea标记之外的链接,请参阅Scrapy 文档中的此页面。要点是您可以通过传递tags来指定要在哪些标签中查找链接SgmlLinkExtractor(),其中tags是字符串列表,默认为('a', 'area')

于 2013-12-14T06:01:39.287 回答