Scrapy: Как правильно создать объект scrapy.http.response. html .HtmlResponse на основе URL - PullRequest
0 голосов
/ 24 апреля 2020

Я пишу «паук-скрап», чтобы очистить данные с веб-страницы, которая имеет несколько подстраниц. Каждая из них также имеет несколько подстраниц и т. Д. 1010 *. Я хочу посетить все подпункты -...- страниц и получить от нее указанную c информацию.

К go глубже и глубже Я хочу запросить последующие подстраницы с помощью xpath () для получить ссылки и ввести их. Но для использования xpath мне нужен объект класса scrapy.http.response.html.HtmlResponse. Поэтому я пишу:

from scrapy.http import HtmlResponse

new_response =  HtmlResponse(url=subpage_url)

Но когда я делаю запрос xpath для такого объекта, я не получаю то, что должен получить, просто пустой список. Я подозреваю, что я не указал аргумент 'body' в HtmlResponse(). Но тело скрыто в HTML от subpage_url, и я хочу получить его со страницы. Я делаю что-то не так, или есть лучший способ получить HTML из подстраницы с известным URL-адресом для xpath-запроса это HTML?

1 Ответ

0 голосов
/ 24 апреля 2020

Так будет работать BeautifulSoup. Используйте экстрактор ссылок, чтобы go перейти на следующую страницу и нажать на элементы, которые вы хотите. Используйте xpath для извлечения содержимого, которое вы хотите. Это не то, как используется скрап.

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