Я пытаюсь очистить Момондо. Меня интересует цена, которую можно найти здесь
<div class="price-price">182 USD</div>
Я соскабливаю со следующим кодом
from bs4 import BeautifulSoup
import urllib.request
url = 'https://www.momondo.com/flight-search/PAR-BER/2018-07-22?sort=price_a'
response = urllib.request.urlopen(url)
html = response.read()
print(html)
soup = BeautifulSoup(html,'html5lib')
all = soup.find_all('div',class_='price-price')
for item in all:
print(item.text)
Ответ и, следовательно, html не содержат класс "цена-цена". Можете ли вы указать мне мою ошибку?
Похоже, что элемент, который вы пытаетесь захватить, динамически генерируется JavaScript. request
получает контент до того, как это произойдет.
Для таких ситуаций есть две вещи, которые вы можете сделать,
Рекомендуемый способ сделать это - использовать что-то еще, например селен, чтобы получить источник страницы.
Проверьте вкладку сети в инструментах разработчика браузера и посмотрите, загружается ли файл данных, это любопытный способ взлома и не всегда будет работать.