Я пытаюсь собрать данные из таблиц и диаграмм с этого сайта: https://www.portfoliovisualizer.com/fund-performance?s=y&symbol=MUB&symbols=VTEB&benchmark=VWITX&startDate=1%2F1%2F2015&endDate=1%2F31%2F2020
Сайт содержит обе таблицы * stati c, которые я могу анализировать без любые проблемы с использованием запросов и BeautifulSoup, а также некоторых динамически генерируемых таблиц и диаграмм, которые создаются с помощью инструментов визуализации Google. Для динамически сгенерированных частей я использовал веб-драйвер Selenium и смог получить исходный код страницы после генерации динамических c диаграмм и таблиц, поэтому я вижу значения, которые я хочу получить. Однако я не знаю, как их вытащить, так как они отображаются в источнике страницы в таких сегментах, как приведенный ниже:
Цитата
<div id="chartDiv2" style="width: 900px; height: 500px;"></div>
<script>
function getChartData2() {
var data2 = google.visualization.arrayToDataTable([['Year', 'Vanguard Tax-Exempt Bond ETF', 'iShares
National Muni Bond ETF', 'Vanguard Interm-Term Tx-Ex Inv'],['2015', 0.02622989191078684,
0.027694140180976934, 0.020218079771240793],['2016', 0.0017793103198122662, -0.0016512224730700353,
8.245768963E-4],['2017', 0.04691417159814648, 0.04723004573804612, 0.04534581696422735],['2018',
0.010468419206658197, 0.0092958557816043, 0.01252249494095059],['2019', 0.07344514685363279,
0.07055205700158873, 0.06781218369439523],['2020', 0.017556966753828895, 0.01659204635238365,
0.0158935038009671]]);
var formatter2 = new google.visualization.NumberFormat({ pattern: '0.00%' });
formatter2.format(data2, 1);
formatter2.format(data2, 2);
formatter2.format(data2, 3);
var chart2 = new google.visualization.ColumnChart(document.getElementById('chartDiv2'));
var options2 = { title: 'Annual Returns', legend: { textStyle: { fontSize: 13 } }, hAxis: { title:
'Year'}, vAxis: { dummy: false, title: 'Annual Return', format:'0.0%', minValue: 0}, focusTarget:
'category'};
return [chart2, data2, options2];
}
</script>
Цитата
Любой поиск супа с помощью find или find_all натыкается на самый дальний стол (который, кажется, охватывает всю веб-страницу). Я новичок в Python, поэтому любая помощь будет очень признательна. Прямо сейчас, единственный способ, которым я могу думать об этом, - сохранить весь исходный текст страницы в виде текстового файла (что я и сделал), а затем проанализировать его самостоятельно, выполнив поиск каждого экземпляра используемых инструментов визуализации Google и продолжая оттуда). Это было бы довольно утомительно и, вероятно, не очень надежно при попытке использовать его для другой ссылки.
Заранее большое спасибо за любые предложения.