Scrapy конвейер для экспорта файла CSV в нужном формате
Я сделал улучшение в соответствии с предложением от alexce ниже. Что мне нужно, это как на картинке ниже. Однако каждая строка / строка должна быть одна рецензия: с датой, рейтингом, текстом рецензии и ссылкой.
Мне нужно, чтобы обработчик элементов обрабатывал каждый отзыв на каждой странице.
В настоящее время TakeFirst () принимает только первый обзор страницы. Итак, 10 страниц, у меня всего 10 строк / строк, как на картинке ниже.
Код паука ниже:
import scrapy
from amazon.items import AmazonItem
class AmazonSpider(scrapy.Spider):
name = "amazon"
allowed_domains = ['amazon.co.uk']
start_urls = [
'http://www.amazon.co.uk/product-reviews/B0042EU3A2/'.format(page) for page in xrange(1,114)
]
def parse(self, response):
for sel in response.xpath('//*[@id="productReviews"]//tr/td[1]'):
item = AmazonItem()
item['rating'] = sel.xpath('div/div[2]/span[1]/span/@title').extract()
item['date'] = sel.xpath('div/div[2]/span[2]/nobr/text()').extract()
item['review'] = sel.xpath('div/div[6]/text()').extract()
item['link'] = sel.xpath('div/div[7]/div[2]/div/div[1]/span[3]/a/@href').extract()
yield item