2017-06-06 14 views
0

私はチュートリアルの後@:https://blog.scrapinghub.com/category/scrapy-tips-from-the-pros/〜コードはうまく実行されているようですが、端末に何も出力されていません。まだ "Pythonでスタックトレースを使う方法を見つけようとしています...バックエンド」の問題があり、問題は、私は、スクリプトを実行した後に、端末内の任意の出力を見ていないですということ..ですすべてのヘルプはなぜPythonスクリプトを実行した後に端末に出力が表示されないのですか?

import scrapy 

class SpidyQuotesViewStateSpider(scrapy.Spider): 
    name = 'spidyquotes-viewstate' 
    start_urls = ['http://quotes.toscrape.com/search.aspx'] 
    download_delay = 1.5 

    def parse(self, response): 
     for author in response.css('select#author > option ::attr(value)').extract(): 
     yield scrapy.FormRequest(
      'http://quotes.toscrape.com/filter.aspx', 
      formdata={ 
       'author': author, 
       '__VIEWSTATE': response.css('input#__VIEWSTATE::attr(value)').extract_first() 
      }, 
      callback=self.parse_tags 
     ) 




    def parse_tags(self, response): 
     for tag in response.css('select#tag > option ::attr(value)').extract(): 
      yield scrapy.FormRequest(
       'http://quotes.toscrape.com/filter.aspx', 
       formdata={ 
        'author': response.css(
         'select#author > option[selected] ::attr(value)' 
        ).extract_first(), 
        'tag': tag, 
        '__VIEWSTATE': response.css('input#__VIEWSTATE::attr(value)').extract_first() 
       }, 
       callback=self.parse_results, 
      ) 

    def parse_results(self, response): 
     for quote in response.css("div.quote"): 
      yield { 
       'quote': quote.css('span.content ::text').extract_first(), 
       'author': quote.css('span.author ::text').extract_first(), 
       'tag': quote.css('span.tag ::text').extract_first(), 
      } 
+0

あなたは何を見たいですか? –

答えて

1

与えられたコードは、アクティブな実行を持っていません。..素晴らしいことです。これはクラス定義以上のものではありません。出力を取得するには、クラスのオブジェクトをインスタンス化して1つまたは2つの実際のWebサイトをスクラップするドライバ(メイン)プログラムを作成するためにチュートリアルを続行する必要があります。

プログラムがクラッシュしない限り(致命的な例外が発生する)、スタックトレースは発生しません。それはあなたが実装し、 "使用する"ものではありません。

関連する問題