Как получить данные с помощью скраба на веб-странице, на которой я не вижу кода, который хочу очистить - PullRequest
0 голосов
/ 02 января 2019

Я пытаюсь получить имена пользователей и содержание комментариев, существующих на этой странице :

Пользователь и текст, который мне нужно извлечь: image

Когда я тестирую извлечение с помощью подключаемого модуля Chrome Помощник Xpath , я получаю имена пользователей с оператором:

//*[@id="livefyre"]/div/div/div/div/article/div/header/a/span

икомментарии, я получаю их с:

//*[@id="livefyre"]/div/div/div/div/article/div/section/div/p

Когда я делаю тест в консоли Scrapy, с запросом:

response.xpath(//*[@id="livefyre"]/div/div/div/div/article/div/section/div/p).extract()

я получаю [] ;

Я также пытался с:

response.xpath (//*[@id="livefyre"]/div/div/div/div/article/div/section/div/p.text()).extract()

То же самое происходит с моим кодом.

Проверяя код страницы, я вижу, что все этикомментарии не существуют в HTML-коде.

Когда я, например, проверяю страницу, я вижу текст комментария: image

Но когда я проверяюHTML-код страницы я ничего не вижу: image

Где я делаю ошибку?

Спасибо за помощь.

1 Ответ

0 голосов
/ 02 января 2019

Как вы заявили, в коде страницы нет комментариев, которые означают, что веб-сайт обрабатывается с помощью javascript. Существует два способа удаления таких веб-сайтов

Сначала

используйте scrapy-splash для рендеринга JavaScript

секунда,

найдите api/network call, который приносит комментарии, высмеивайте этот запрос, чтобы получить ваши данные.

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