В настоящее время я работаю над кодом Scrapy, который будет извлекать 3 типа данных для каждого продукта. Я назвал данные "название, цена и рост c". Для каждого продукта я сделал свою программу способной правильно определять заголовок и цену, но у меня возникают проблемы с повышением c, так как повышение c находится на другой странице.
Что я хочу, чтобы моя программа делала для каждого продукта - извлечь заголовок и цену на главной странице, затем go на другой странице, чтобы извлечь код UP C. Как только он получит код c, я хочу, чтобы программа go перешла к следующему продукту на главной странице и повторила тот же метод для остальных продуктов.
Вот мой код.
import scrapy
from scrapy.utils.response import open_in_browser
from ..items import QuotetutorialItem
data={hidden}
headers={hidden}
class BrickseekSpider(scrapy.Spider):
name = 'brickseek1'
allowed_domains = ['brickseek.com']
def start_requests(self):
dont_filter = True
yield scrapy.http.FormRequest(url='https://brickseek.com/login/', headers=headers, formdata=data,
callback=self.parse)
def parse(self, response):
items = QuotetutorialItem()
products = response.css('div.item-list__tile')
for product in products:
title = product.css('.item-list__title span::text').extract()
price = product.css('.item-list__price-column--highlighted .price-formatted__dollars::text').extract()
#another_page = response.css('div.item-list__tile a::attr(href)').get()
#if another_page:
#upc = product.css('div.item-overview__meta-item::text').extract()[6]
#yield response.follow(another_page, callback=self.parse)
items['title'] = title
items['price'] = price
#items['upc'] = upc
yield items