我在网站上running this spider。它工作正常,但我遇到的一个问题是有很多href与#34;#"作为链接。
如何完全跳过或删除这些#链接?我正在输出当前文件的链接,并使用lstrip
转储""到文件。我还尝试了i.replace
,但它仍然在文件中删除了空白行。
答案 0 :(得分:1)
对于与您的选择器匹配的所有内容,您需要yield
。有条件地yield
,所以转换:
for i in selector.extract():
yield {"url": i.lstrip('#')}
类似
for i in selector.extract():
url = i.lstrip('#')
if url:
yield {"url": url}
答案 1 :(得分:0)
为了跳过这些链接,只有当它们不包含"#"
时,才需要更改XPath表达式以提取href属性。selector = response.xpath('//*/a[not(contains(@href, "#"))]/@href')