Scrapy代码抛出TypeError:'NoneType'对象不可迭代

Jsh*_*hee 4 python scrapy python-3.x

我试图提出参数请求site_search_url,但是当我运行时出现以下错误:``:

start_requests = iter(self.spider.start_requests())
TypeError: 'NoneType' object is not iterable
Run Code Online (Sandbox Code Playgroud)

码:

class BrickSetSpider(scrapy.Spider):
    def __init__(self, site_search_url):
        self.site_search_url = site_search_url

    def start_requests(self):
        se_base = 'http://www.se.com/search?q=site:'
        start_urls = [ se_base + self.site_search_url, ]

    def parse(self, response):
        yield scrapy.Request(
            response.urljoin(next_page),
            callback=self.parse
        )
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

谢谢

miz*_*gun 9

start_requests没有返回任何东西,这意味着None 在Python中返回,而它应该返回一个可迭代的Request对象.你的情况,最简单的就是填充start_urls__init__,不能取代start_requests:

class BrickSetSpider(scrapy.Spider):
    se_base = 'http://www.se.com/search?q=site:'
    def __init__(self, site_search_url):
        self.start_urls = [self.se_base + site_search_url]

    def parse(self, response):
        yield scrapy.Request(
            response.urljoin(next_page),
            callback=self.parse
        )
Run Code Online (Sandbox Code Playgroud)