我希望 Scrapy 蜘蛛在不先发出请求的情况下生成一个项目。我需要以下功能,但不需要向 example.com 请求。
class TestSpider:
name = "test"
def __init__(self, item, *args, **kwargs):
self.item = item
def start_requests(self):
yield scrapy.Request('https://example.com/', callback=self.parse)
def parse(self, response):
yield self.item
我尝试直接从
start_requests
生成项目,但是 Scrapy 期望它返回 scrapy.Request
对象的可迭代对象。
直接从构造函数产生当然也是行不通的,因为构造函数必须返回
None
。
我有同样的问题,我正在尝试在 scrapy 项目中使用我自己的 http 客户端实现,我尝试在循环中生成 scrapy.items 并且它不断尝试访问通常在 scrapy.Request 中找到的属性 dont_filter