Страница динамическая, поэтому сначала вам нужно будет отрендерить страницу с помощью чего-то вроде Selenium.
Кроме того, вы можете использовать BeautfifulSoup или даже Selenium для анализа html, как только он у вас есть. Но я заметил, что он находится внутри тегов <table>
. Всякий раз, когда я вижу тег <table>
, я обычно выбираю с пандами .read_html()
, поскольку это сделает тяжелую работу за вас.
.read_html()
вернет список фреймов данных, тогда нужно просто найти нужные данные или манипулировать таблицей по мере необходимости. Требуемые данные были найдены в кадре данных в индексной позиции 4
, (она также была в позиции 0
, но я предпочитаю использовать 4
, поскольку он был там, 2-я строка, первый столбец). Затем просто нарежьте этот фрейм данных, чтобы получить определенную ячейку:
from selenium import webdriver
import pandas as pd
driver = webdriver.Chrome('C:/chromedriver_win32/chromedriver.exe')
url = 'https://www.ivolatility.com/options/RVX/'
driver.get(url)
tables = pd.read_html(driver.page_source)
price = tables[4][0][1]
driver.close()
Выход:
print (price)
19.17