为什么 link 提取器会跳过 link?
Why does linkextractor skip link?
我正在抓取一些页面并尝试使用 LinkExtractor 从响应中获取 URL。一般来说,这很好,但是 LinkExtractor 无法将相对 link 提取到在 html
的第 111 行找到的 pdf 文件
我已经尝试了很多,但无法弄清楚 link 提取器如何以及何时删除相关的 links,以及提取器是否应该这样做工作
scrapy shell "https://www.limburg.nl/algemeen/zoeken/?mode=zoek&ajax=true&zoeken_sortering=Num&pager_page=4"
from scrapy.linkextractors import IGNORED_EXTENSIONS
skip_extensions = list(set(IGNORED_EXTENSIONS) - set("pdf")) + ["gz","txt","csv","cls","and","bib","xml","dat","dpr","cfg","bdsproj","dproj","local","tvsconfig","res","dsk"]
extractor = LinkExtractor(deny_extensions=skip_extensions)
extractor.extract_links(response)
set()
将一个序列作为参数,并将序列中的每一项组成一个集合。字符串是单个字符的序列,因此 set("pdf")
构成一组字符 p
d
f
.
如果你想要集合中的整个字符串“pdf”,那么你需要将它包含在一个列表中:
set(["pdf"])
或者使用 {}
符号而不是调用 set()
:
可能更简单
{"pdf"}
我正在抓取一些页面并尝试使用 LinkExtractor 从响应中获取 URL。一般来说,这很好,但是 LinkExtractor 无法将相对 link 提取到在 html
的第 111 行找到的 pdf 文件我已经尝试了很多,但无法弄清楚 link 提取器如何以及何时删除相关的 links,以及提取器是否应该这样做工作
scrapy shell "https://www.limburg.nl/algemeen/zoeken/?mode=zoek&ajax=true&zoeken_sortering=Num&pager_page=4"
from scrapy.linkextractors import IGNORED_EXTENSIONS
skip_extensions = list(set(IGNORED_EXTENSIONS) - set("pdf")) + ["gz","txt","csv","cls","and","bib","xml","dat","dpr","cfg","bdsproj","dproj","local","tvsconfig","res","dsk"]
extractor = LinkExtractor(deny_extensions=skip_extensions)
extractor.extract_links(response)
set()
将一个序列作为参数,并将序列中的每一项组成一个集合。字符串是单个字符的序列,因此 set("pdf")
构成一组字符 p
d
f
.
如果你想要集合中的整个字符串“pdf”,那么你需要将它包含在一个列表中:
set(["pdf"])
或者使用 {}
符号而不是调用 set()
:
{"pdf"}