我从 OffsiteMiddleware 创建了我的自定义 SpiderMiddleware。原始类的简单复制和粘贴,也许它存在更好的方法。
我会收集过滤后的异地域。我的管道有效。
但我不知道如何将这些项目返回到我的管道。
谢谢你的帮助。
def process_spider_output(self, response, result, spider):
items = []
for x in result:
if isinstance(x, Request):
if x.dont_filter or self.should_follow(x, spider):
yield x
else:
domain = urlparse_cached(x).hostname
if domain and domain not in self.domains_seen[spider]:
self.domains_seen[spider].add(domain)
# ***My items ===> items.append(OutboundsLinks(url = domain))***
else:
yield x