2017-02-19 5 views
-1

У меня возникли проблемы с моим пауком, чтобы импортировать результат в csv, и все мои элементы на выходе были в одной строке. Пожалуйста помоги.Scrapy output my item в одной строке

Вот мой паук

import scrapy 
from mudah.items import MudahItem 

class MudahSpider(scrapy.Spider): 
name = "mudah" 
allowed_domain = ["mudah.my"] 
start_urls = ["http://www.mudah.my/Perak/Properties-for-sale-2001? lst=0&fs=1&w=106&cg=2001&so=1&st=s"] 

def parse(self,response): 
for row in response.xpath('//*[@id="list-view-ads"]'):  
item = MudahItem() 
    item['Title'] = sel.xpath('//*/div/ul/li[2]/div/div[1]/div[1]/h2[@class="list_title"]/a/text()').extract() 
    item['Price'] = sel.xpath('//*/div/ul/li[2]/div/div[1]/div[1]/div/div[@class="ads_price"]/text()').extract() 
    yield item 

Вот мой выход в CSV

Price        Title 
RM 135 000,RM 361 000,.....  Title1, Title 2, Title 3,....... 

Я хочу Csv, чтобы выводить элементы в списке, как показано ниже.

Price    Title 
$ 135 000.  Title1 
$ 1 080 000  Title2 
$ 361 000   Title3 
.     . 
.     . 
.     . 

Пожалуйста, помогите. Благодарю.

+0

вы только что вернулись 1 пункт, который содержит все цены и названия вместе. Измените его, чтобы вывести несколько элементов вместо 1 – eLRuLL

ответ

-1

Итерации по всем строкам по одному.

Защиту синтаксического анализа (самоощущение, ответ): пункт = MudahItem()

for row in response.xpath("//*/div/ul/li[2]/div/div[1]/div[1]"): 

    item['Title'] = sel.xpath('h2[@class="list_title"]/a/text()').extract() 
    item['Price'] = sel.xpath('div/div[@class="ads_price"]/text()').extract() 
    yield item 

 Смежные вопросы

  • Нет связанных вопросов^_^