2016-07-02 11 views
0

私は私の質問があるScrapy 1.1、 を使用しています:URLを作るためにstart_requests()を使用した後Scrapy: `start_requests()`を使ってURLを作ると、 `start_urls`も必要ですか?

start_urlsも必要なのか?
削除できますか?例えば

class demoSpider(RedisSpider): 
    name = "demospider" 

    #Can I delete `start_urls`? 
    redis_key = 'demospider:start_urls' 
    start_urls = ['http://www.example.com'] 

    def start_requests(self): 
     pages=[] 
     for i in range(1,10): 
      url='http://www.example.com/?page=%s'%i 
      page=scrapy.Request(url) 
      pages.append(page) 
     return pages 
+1

いいえ、違いはありませんが、削除することはできます。もちろん、リストの作成だけでなく、start_requestsの使用を忘れることもできます –

答えて

1

すべてscrapyのスパイダーは、あなたがこのクラスを開く場合は、self.start_urlsstart_requests方法でのみ使用されていることがわかりますscrapy.Spider(またはそれがscrapy.spiders.CrawlSpiderのような子供たちの) から継承しなければなりません。

したがって、継承されたstart_requestsメソッドをオーバーライドすると、start_urlsは使用されなくなり、未定義または削除される可能性があります。

関連する問題