Я новичок в кодировании, теперь я начал с Python и Scrapy, и это мой первый код.
В связи со следующей проблемой, что таблица, которую я собираю, не отформатирована в столбцах с заголовком / index, но в строке, поскольку каждая страница имеет переменное количество столбцов и строк, становится трудно разделить все впоследствии в .CSV или JSON, поскольку атрибуты будут смешаны.
Примеры: https://www.kavalier.cz/en/lab-burners-sp292.html
Столбцы:
Код
Тип
Давление (Па)
Расход (Нм3 / ч)
Выход (Вт)
Вес (г)
https://www.kavalier.cz/en/desiccator-with-glass-knob-sp94.html
Столбцы:
Код
Номер
Тип
d1 (мм)
d2 (мм)
ч (мм)
Упаковка (p c)
#Open product page
def parse(self, response):
urls = response.css('a.btn.btn-default::attr(href)').extract()
for url in urls:
url = response.urljoin(url)
yield scrapy.Request(url=url, callback=self.parse_details)
#Pagination
next_page_url = response.css('a.page-link.next::attr(href)').extract_first()
if next_page_url:
next_page_url = response.urljoin(next_page_url)
yield scrapy.Request(url=next_page_url, callback=self.parse)
#Product Details
def parse_details(self, response):
yield {
'Product_Name': response.css('.content > h2::text').extract_first(),
'Category': response.css('.breadcrumb > li:nth-child(4) > a ::text').extract_first(),
'Image_Url': response.css('.main-img > a::attr(href)').extract_first(),
'Table': response.xpath('//tr/td/text()').extract(),
}`
Как настроить мой код так, чтобы все переменные заголовки таблиц были подсчитаны и помещены в столбцы + их данные.