Соскоб из Kelley Blue Book, индекс списка вне диапазона - PullRequest
0 голосов
/ 22 апреля 2020
from scrapy import Spider, Request
from kbb.items import KbbItem
import re
import json

    class kbbSpider(Spider):
        #name: an attribute specifying a unique name to identify the spider
        name = "kbb_spider"

        #start_urls: an attribute listing the URLs the spider will start from
        allowed_domains = ['www.kbb.com']

        #allowed_urls: the main domain of the website you want to scrape
        start_urls = ['https://www.kbb.com/cars-for-sale/cars/used-cars/?p=1&color=']

        #parse(): a method of the spider responsible for processing a Response object downloaded from the URL and returning scraped data (as well as more URLs to follow, if necessary)
        #*[@id=listingsContainer,page-numbers
        def parse(self, response):
            text = json.loads(response.xpath('//*[contains(@id,"listings")]//span[contains(@class,"pagination")]/text()').extract()[1])
            result_pages = ['https://www.kbb.com/cars-for-sale/cars/used-cars/?p={}&color={}'.format(x,y) for x in range(1, int(text)+1) for y in ['beige', 'black', 'blue', 'brown', 'burgundy','charcoal','gold','gray','green','offwhite','orange','pink','purple','red','silver','tan', 'turquoise','white','yellow']]
            #json_data = json.loads(result_pages)
            for url in result_pages:
                yield Request(url=url, callback=self.parse_result_page)

Я пытаюсь использовать скрап в Python, чтобы вычеркнуть книгу Келли Блю из того, что кажется устаревшим сценарием. Я получаю эту ошибку:

text = json .loads (response.xpath ('// * [содержит (@id, "списки")] // span [содержит (@class, "разбиение на страницы) ")] / text () '). extract () [1]) IndexError: список индексов вне диапазона

Я подозреваю, что объект / id / классы устарели или были изменены. Поэтому, где я думаю, что вижу правильные изменения идентификатора / класса, но независимо от того, сколько идентификаторов / классов я пробую, все равно получаю пустой список.

Я не очень знаком с кодированием / написанием сценариев, и я новичок Кто-нибудь может указать мне правильное направление относительно того, что может идти не так?

Я хочу собрать данные из этих списков автомобилей, содержащих название автомобиля, цену, пробег, мили на галлон и т. Д. c., По всем Результаты поиска и страницы.

Заранее спасибо.

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