python
  • python-3.x
  • scrapy
  • 2017-02-09 3 views 1 likes 
    1

    処理のためにファイルをscrapyに入力しようとしています。しかし、なぜファイル形式で入力するのが問題になっているのか分かりません。ここに私が試したものです:ファイルに問題が発生しました。

    with open("url.txt","r") as f: 
    
        DOMAIN = [u.strip() for u in f.readlines()] 
        print DOMAIN 
        URL = 'http://%s' % DOMAIN 
    
    class MySpider(scrapy.Spider): 
        name = "emailextractor" 
        allowed_domains = [DOMAIN] 
        start_urls = [ 
         URL 
        ] 
    

    入力ファイルは、この形式である:

    emaxple.com 
    example.net 
    example.org.... etc 
    

    私が使用しているフォーマットでscrapyに入力を与える方法。私はhttp://をすべてのURLに追加しようとしています。ファイルもGB単位で非常に大きいです。だから私がすべき最も良いことは何ですか?親切に、助けてください。
    この質問は私のために動作しませんでした:Pass input file to scrapy containing a list of domains to be scraped

    答えて

    0

    ファイル(または、あなたのstart_urlsリストに直接設定することはできません何か他のもの)からのURLに基​​づいて要求を生成したい場合は、あなたがscrapy.Spiderをオーバーライドする必要が's start_requestsあなた自身のスパイダーの方法。

    class MySpider(scrapy.Spider): 
        name = "emailextractor" 
    
        def start_requests(self): 
         with open('urls.txt') as urls_file: 
          for url in urls_file: 
           yield scrapy.Request(url.strip(), callback=self.parse) 
    
        def parse(self, response): 
         # parse the pages that your spider downloaded and extract the data 
    
    :あなたは入力ファイルから読んでURLの要求を生成する必要がある。この方法では

    関連する問題