2015-02-11 23 views
0

這裏是我的蜘蛛:Scrapy CSV outputing多條線路上

from scrapy.spider import BaseSpider 
from scrapy.selector import Selector 
from ..items import TutorialItem 

class Tutorial1(BaseSpider): 
name = "Tut" 
allowed_domains = ['nytimes.com'] 
start_urls = ["http://nytimes.com",] 

def parse(self, response): 
    sel = Selector(response) 
    sites = sel.xpath('//div[@class="span-ab-layout layout"]') 
    items = [] 

    for site in sites: 
     item = TutorialItem() 
     item['title'] = map(unicode.strip, site.select('//h2[@class="story-heading"]/a/text()').extract()) 
     item['time'] = map(unicode.strip, site.select('//time[@class="timestamp"]/text()').extract()) 
     yield item 

這裏是我的輸出:

創作時 通過彼得貝克,由Jonathan M. Katz和RICHARDPÉREZ-PEA 'A,由NEIL MacFARQUHAR,由RON NIXON,由RICHARD GOLDSTEIN,由LOUISE STORY和ALEJANDRA XANIC von BERTRAB,由DAVID CARR,由AO美國東部時間上午10點26分,美國東部時間上午1點08分,美國東部時間上午11點57分,美國東部時間上午8點33分,美國東部時間上午8點33分,美國東部時間10點01分AM ET,12:35 PM ET,1:47 PM ET,10:36 AM ET,10:26 AM ET,9:49 AM ET,12:05 PM ET,9:21 AM ET,12:22 PM ET ,11:52 AM等,8:59 AM ET

由Peter BAKER,由Jonathan M. Katz和RICHARDPÉREZ-PEÃ'A由Neil法夸爾,由Ron NIXON,由Richard GOLDSTEIN,通過路易斯故事和ALEJANDRA XANIC von BERTRAB,作者DAVID CARR,作者:AO美國東部時間上午10點26分,美國東部時間上午1點08分,美國東部時間上午11點57分,美國東部時間上午8點33分,美國東部時間上午8點33分,美國東部時間10點01分AM ET,12:35 PM ET,1:47 PM ET,10:36 AM ET,10:26 AM ET,9:49 AM ET,12:05 PM ET,9:21 AM ET,12:22 PM ET ,11:52 AM等,8:59 AM ET

我提出的縮進所以很明顯它被重複。

當我用CSV打印出我的作品時,出現了問題,總是出現在1個巨大的行中。由於某種原因,它也會產生重複的列。任何人都可以幫助我解決這個難題嗎?

回答

0

我能找到它通過與實驗:

hxs = HtmlXPathSelector(response) 

顯然,有選擇和HtmlPatchSelector

之間的巨大差異