Почему не анализируется код html внутри div? - PullRequest
1 голос
/ 23 апреля 2020

Код html

На этом изображении есть код html внутри div id = "root"

Вот код:

import requests 
from bs4 import BeautifulSoup

URL = 'https://www.daraz.com.bd/catalog/?spm=a2a0e.home.search.3.73524591owXnnM&q=mobile' 
page = requests.get(URL)

soup = BeautifulSoup(page.content, 'html.parser')
result = soup.find("div", id="root")
print(result)

Вывод:

<div id="root"></div>

Почему код html внутри div не анализируется?

1 Ответ

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

Содержимое внутри <div id="root"></div>, вероятно, загружается динамически. Вы можете самостоятельно проверить, заходите ли вы на страницу с отключенной JavaScript. При вашем подходе BeatifulSoup не анализирует контент, который был добавлен динамически (через JavaScript).

Подробнее здесь => BeautifulSoup не захватывает динамически c контент

Я бы порекомендовал использовать браузер без головы в вашем случае, чтобы иметь возможность извлекать динамический c контент, который был сгенерирован с помощью JavaScript. (безголовый браузер может выполнять JavaScript, что делает динамический c контент доступным для анализа)

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