2017-09-08 13 views
1

私はウェブサイトからデータを取得しようとしていますが、すべて正しいと思われ、xpathはシェル上でテストされました。空のjsonファイルを返す治療

[ 

私のコードの何が問題になっている:

# -*- coding: utf-8 -*- 

from scrapy.contrib.spiders import CrawlSpider 


class KabumspiderSpider(CrawlSpider): 
    name = "kabumspider" 
    allowed_domain = ["www.kabum.com.br"] 
    start_urls = ["https://www.kabum.com.br"] 


def parse(self, response): 
     categorias = response.xpath('//p[@class = "bot-categoria"]/a/text()').extract() 
     links = response.xpath('//p[@class = "bot-categoria"]/a/@href').extract() 

     for categoria in zip(categorias, links): 

      info = { 
       'categoria': categoria[0], 
       'link': categoria[1], 
      } 
      yield info 

が、出力があると思われますか?

+0

あなたはscrapyシェルの出力をテストしましたか?また、まずアイテムを作成し、そのアイテムのプロパティに出力を書き込んで、そのアイテムをJSONファイルに書き込む必要があります。 – cyril

+0

私はアイテムを使っていましたが、それは問題だったかもしれないと思っていましたので、辞書を使ってその時間をもう一度やってみました...すべてのものは治療用シェルでうまくいくようです –

+0

for 'あなたはそれらを見る?また、カスタムパイプラインを有効にしていますか? – eLRuLL

答えて

0

私はスクレーパーを使い、それは私のためにうまく動作します。私が見つけた唯一の問題は、あなたの解析メソッドがクラスの外にあることです。

+0

実際にはエラーだった、私はこのような単純な間違いをして恥ずかしいと感じています –