Как получить новый URL и обновить объект ответа вне оболочки scrapy? - PullRequest
0 голосов
/ 28 октября 2019

Использование scrapy shell Я могу использовать метод fetch, чтобы понять содержание нового URL. Этот метод автоматически обновляет объект response, как показано в следующем коде (см. Комментарий):

items = response.css('article')
for i in items:
    title = i.css('a[class="item-link "]::text').get()
    price = i.css('span[class="item-price h2-simulated"]::text').get()
    rooms = i.css('span[class="item-detail"]::text').get() 
    meters = i.css('span[class="item-detail"]:nth-of-type(2)::text').get()
    url = response.urljoin(i.css('a[class="item-link "]').attrib['href'])
    fetch(url, redirect=False)
    # After fetch() is called the response object is updated 
    # and I can fetch new informations
    loc = response.xpath('/html/body/script[9]').get()
    latitude = re.findall('latitude:"([-.0-9]+)"', loc)[0]
    longitude = re.findall('longitude:"([-.0-9]+)"', loc)[0]

Но я не знаю, как сделать то же самое за пределами scrapy shell, используя класс Spiderи его методы.

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