2011-07-10 16 views
1

出力をCSVファイルに追加したいが、次の行に配置されるフィールド名の下で開始しない問題があるこれは、csvファイルにplayerMins項目を設定するときに行2に配置するのとは異なります。私のコードがどこに間違っているのか教えてもらえますか?ここでは、次のとおりです。python scrapyを使用してcsvファイルに項目をポンピングする - csvファイルで出力する方法の問題

class EspnSpider3(BaseSpider): 
    name = "espn3.org" 
    allowed_domains = ["espn3.org"] 
    start_urls = [ 
     "http://scores.espn.go.com/nba/boxscore?gameId=310502004" 

    ] 

    def parse(self, response): 
     hxs = HtmlXPathSelector(response) 
     item = EspnItem() 
     rows = [] 
     playerName = [] 
     playerMins = [] 

     # player names 
     p_names = hxs.select('(//table[@class="mod-data"][1]/tbody/tr)//a/text()').extract() 
     for p_name in p_names: 
      print p_name 
      yield EspnItem(playerName=p_name) 

     # minutes 
     p_minutes = hxs.select('(//table[@class="mod-data"][1]/tbody/tr)/td[2]').extract() 
     for p_minute in p_minutes: 
      print p_minute 
      yield EspnItem(playerMins=p_minute) 
+3

CSVに出力するコードがありますか? – bernie

+0

詐欺のクロールespn3.org --set FEED_URI = items.csv --set FEED_FORMAT = csv –

+0

上記の標準的なC –

答えて

2

は私の問題を解決することができた、後に多くのグーグルとRTFM:Trying to Use an ItemExporter in Scrapyここ

私の作業コードです:

def parse(self, response): 
    hxs = HtmlXPathSelector(response) 
    player_names = hxs.select('(//table[@class="mod-data"][1]/tbody/tr)') 
    for p_name in player_names: 
     l = XPathItemLoader(item=EspnItem(), selector=p_name) 
     l.add_xpath('playerName', 'td[1]/a/text()') 
     l.add_xpath('playerMins', 'td[2]') 
     yield l.load_item()