bs выдает пустой массив
Указываю тег и класс, выдаёт пустой массив, пробовал разный синтаксис
import requests
from bs4 import BeautifulSoup
URL = 'https://www.binance.com/ru/trade/DOGE_BTC'
HEADERS = {'user-agent': ну тут код, 'accept': '*/*'}
def get_html (url, params=None):
r = requests.get (url, headers=HEADERS, params=params)
return r
def get_content(html):
soup = BeautifulSoup (html, 'html.parser')
items = soup.find_all ('div', class_='text')
print (items)
def parse ():
html = get_html(URL)
if html.status_code == 200:
get_content (html.text)
else:
print ('Error')
parse()
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Попробуйте через selenium. Скорее всего, данные, что вы ищите загружаются после получения страницы, в js, а у requests/bs4 нет js-движка, поэтому и нет тех данных
Пример:
import traceback
# pip install selenium
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
# options.add_argument('--headless')
driver = webdriver.Firefox(options=options)
try:
driver.implicitly_wait(5)
driver.get('https://www.binance.com/ru/trade/DOGE_BTC')
print(f'Title: {driver.title!r}')
for x in driver.find_elements_by_css_selector('div.text'):
print(x.text)
# 15,579,080
# 6.54321360
# 12,719,375
# 5.21494375
# 35,420,191
# 14.16807640
# ...
except:
print(traceback.format_exc())
finally:
# driver.quit()
pass