为什么 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"}