Scrapy не извлекает данные из определенного xpath - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь извлечь некоторые данные со страницы продукта Amazon.

Мне нужно получить изображения из продуктов.Например:

https://www.amazon.com/gp/product/B072L7PVNQ?pf_rd_p=1581d9f4-062f-453c-b69e-0f3e00ba2652&pf_rd_r=48QP07X56PTH002QVCPM&th=1&psc=1

Используя XPath

//script[contains(., "ImageBlockATF")]/text()

, я получаю часть исходного кода, содержащую URL-адреса, но в меню появляются 2 опцииchrome XPath helper.

Испытывая вещи с XPath, я в итоге использовал это:

//*[contains(@type, "text/javascript") and contains(.,"ImageBlockATF") and not(contains(.,"jQuery"))]

, который дает мне исключительно нужные мне данные.

Проблема в том, чтоЯ имею в виду, что для определенных продуктов (это может происходить в 2 парах разных ботинок) иногда я могу извлечь данные, а в других случаях ничего не выходит.Я извлекаю, выполнив:

imagenesString = response.xpath('//*[contains(@type, "text/javascript") and contains(.,"ImageBlockATF") and not(contains(.,"jQuery"))]').extract()

Если я использую помощник chrome xpath, данные всегда отображаются с указанным выше xpath, но в самой программе иногда они появляются, иногда нет.Иногда я знаю, что скрипт, который читает консоль, отличается от того, который появляется на сайте, но я борюсь с этим, потому что иногда он работает, иногда нет.Любые идеи о том, что может происходить?

1 Ответ

0 голосов
/ 05 февраля 2019

Я думаю, что нашел вашу проблему: это капча.

Выполните следующие шаги для воспроизведения:

1.запустить Scrap Shell

scrapy shell https://www.amazon.com/gp/product/B072L7PVNQ?pf_rd_p=1581d9f4-062f-453c-b69e-0f3e00ba2652&pf_rd_r=48QP07X56PTH002QVCPM&th=1&psc=1

2. посмотреть ответ как scrapy

view(respone)

При выполнении этого я иногда получал капчу.Надеюсь, это направит вас в правильном направлении.

Приветствия

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