Получение элементов из нумерованного списка, а затем просмотр деталей с помощью Scrapy - PullRequest
0 голосов
/ 22 апреля 2020

Итак, начнем с: «Я новичок ie». Уже пару дней тестирую скрап, и я пытаюсь сделать то, что, по моему мнению, должно быть простым процессом, но я просто не могу понять ... Моя идея:

  1. Go На страницу с постраничным содержимым
  2. Получить все URL-адреса для отдельных элементов на каждой постраничной странице
  3. Go в каждом отдельном URL-адресе и удалить несколько конфет:)

Теперь я был в состоянии обрабатывать до той части, где я получаю все отдельные URL-адреса, а именно:

import scrapy

class SomeSpider(scrapy.Spider):
    name= 'vinos'
    start_urls = [
        'https://www.somesite.com/es'
    ]
    def parse(self,response):
        for vino in response.css('div.product-container'):
            yield {
                'url' : vino.css("a.product-name::attr(href)").get()
            }
        next_pageVar = response.css(".pagination_next a::attr(href)").get()
        print(next_pageVar)

        if next_pageVar is not None:
            next_page = 'https://www.somesite.com' + next_pageVar
            next_page = response.urljoin(next_page)
            yield scrapy.Request(next_page, callback=self.parse)

Итак, с этим, если я запускаю этот скрипт, я получаю хороший CSV с все отдельные URL

scrapy crawl vinos -o urls.csv

Дело в том, что я не могу понять, как go внутри каждого отдельного элемента и получить данные, которые я хочу, что на самом деле я хочу экспортировать как CSV ( также, CSV, разделенный символом «<», поскольку «,» мешает некоторым полям). </p>

Как только я попадаю на отдельную страницу, я хочу получить следующее:

from some.items import SomeItem
item = SomeItem()
item["title"] =  response.css("h1::text").get()
item["recommendation"] = response.css(".recommendation text").get()
temperature = response.css(".temperature::text").get()
if temperature is not None:
    item["temperature"] = temperature

Как уже было сказано, я хотел бы иметь возможность экспортировать все предметы, собранные для каждого в отдельную страницу в CSV-файл с разделителем "<". </p>

Есть идеи, как сделать эти две вещи?

Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...