В настоящее время я выполняю упражнение, в котором я помещаю Amazon Reviews для указанного c продукта в файл csv. Я собрал свой код для извлечения данных, но я получаю синтаксическую ошибку, когда я go запускаю Spider для помещения в CSV. Эту часть я скопировал непосредственно из учебного модуля, на который я смотрю, поэтому я не совсем понял, в чем проблема. Все ресурсы, которые я нашел на runspider, указывают на то, что код должен быть правильным, но я явно что-то здесь не так сделал.
Вот мой код. Я получаю сообщение об ошибке в самой последней строке:
import scrapy
# Implementing Spider
class ReviewspiderSpider(scrapy.Spider):
# Name of Spider
name = 'reviewspider'
allowed_domains = ["amazon.com"]
start_urls = ['https://www.amazon.com/product-reviews/B07N49F51N/ref=cm_cr_arp_d_viewpnt_lft?pageNumber=']
def parse(self, response):
names = response.xpath('//span[@class="a-profile-name"]/text()').extract()
reviewTitles = response.xpath('//a[@data-hook="review-title"]/span/text()').extract()
starRatings = response.xpath('//span[@class="a-icon-alt"]/text()').extract()
reviews = response.xpath('//span[@data-hook="review-body"]/span/text()').extract()
noOfComments = response.xpath('//span[@class="a-size-base"]/text()').extract()
for (name, title, rating, review, comments) in zip(names, reviewTitles, starRatings, reviews, noOfComments):
yield {'Name': name, 'Title': title, 'Rating': rating, 'Review': review, 'No of Comments': comments }
scrapy runspider spiders/reviewspider.py -t csv -o - > amazonreviews.csv
Вот сообщение об ошибке:
File "<ipython-input-35-6e8796e727d9>", line 22
scrapy runspider <reviewspider.py> -t csv -o - > amazonreviews.csv
^
SyntaxError: invalid syntax
Что мне здесь не хватает? Я очень новичок в Python, веб-скрепинге и скрапе, так что любые разборы и понимание полезны.