Как передать исходный HTML код в BeautifulSoup? - PullRequest
0 голосов
/ 08 апреля 2020

Я хочу просмотреть результаты поиска по сайту. Поисковые термины появляются в URL, поэтому я просто импортирую urllib.request и выполняю

source = urllib.request.urlopen('https://....').read()

, а затем передаю это в конструктор BeautifulSoup

soup = BeautifulSoup(source)

Я хочу найти_all ('div' ) теги div. Однако, похоже, вы можете передать только код html в конструктор BeautifulSoup. Кажется, что urllib.request.urlopen('https://...').read() возвращает источник страницы, а не элементы inspect. Как передать элементы проверки в конструктор BeautifulSoup?

1 Ответ

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

Функция конструктора BeautifulSoup принимает два строковых аргумента:

Строка HTML для анализа. При желании, имя парсера.

from: http://www.compjour.org/warmups/govt-text-releases/intro-to-bs4-lxml-parsing-wh-press-briefings/

Вы не можете передать значения поиска конструктору, просто используйте findAll, упомянутый в моем предыдущем ответе.

Найдите специфицированный c тег с BeautifulSoup

Редактировать: Я думаю, что вы ищете из ваших комментариев:

from bs4 import BeautifulSoup
source = source = urllib.request.urlopen('https://....').read()
soup = BeautifulSoup(html_doc, 'html.parser')

print(soup.prettify())

Выезд: https://www.crummy.com/software/BeautifulSoup/bs4/doc/

...