scrapy错误:リクエストURLに欠けスキーム:%s'は%self._url

私は与えられた理由のについてお話しましょう:と使用start_urlsパラメータと同じ名前を

私が合格しscral crawl projename -a start_urls=http:example.com、次のように、その後にパスstart_urlsをURLをクロールするために追加したプロジェクトでクモクラスを初期化したい、コードは次のとおりです。

class xxxxSpider(CrawlSpider):
    name = 'xxxx'
    allowed_domains = ['xxxx.gov.cn']
    start_urls = [
    ]
    rules = (
        Rule(LinkExtractor(allow=(r'page=\d+',))),
        Rule(LinkExtractor(allow=('unid',)), callback='parse_item', follow=False),
    )

    def __init__(self, *a, **kw):

        self.start_urls.append(kw.get('start_url'))
        super(CrawlSpider, self).__init__(*a, **kw)
        self._compile_rules()

論理的に言えば、そこにはカバーがありませんself.start_urlsが、検証に合格することができない、起動時にエラー

( '要求URLに欠落スキーム:%s' は%のself._url)ValueErrorを送出し

解決策:パラメータ名は使用しないで、ライン上の別のものに変更しましたstart_urls私はそれがプロジェクトの初期化のプロセスは、引数としてこの名前を使用する必要があります推測し、その後、私は彼がカバーしました。

おすすめ

転載: www.cnblogs.com/seozed/p/10987848.html