我只是想知道
https://investor.vanguard.com/529-plan/profile/4514
。我运行以下代码:
from selenium import webdriver
from bs4 import BeautifulSoup
driver = webdriver.Firefox(executable_path=r'C:\Program_Files_EllieTheGoodDog\Geckodriver\geckodriver.exe')
driver.get('https://investor.vanguard.com/529-plan/profile/4514')
html = driver.page_source
soup = BeautifulSoup(html, 'lxml')
当我“检查元素”selenium打开firefox的价格时,我清楚地看到:
<span data-ng-if="!data.isLayer" data-ng-bind-html="data.value" data-ng-class="{sceIsLayer : isETF, arrange : isMutualFund, arrangeSec : isETF}" class="ng-scope ng-binding arrange">$42.91</span >
但我不知道这些数据。如果我打印我的汤,html与网站上显示的非常不同。我试过,但完全失败了:
myspan = soup.find_all('span', attrs={'data-ng-if': '!data.isLayer', 'data-ng-bind-html': 'data.value', 'data-ng-class': '{sceIsLayer : isETF, arrange : isMutualFund, arrangeSec : isETF}', 'class': 'ng-scope ng-binding arrange'})
我完全被难住了。如果有人能给我指出正确的方向,我将非常感激。我觉得我完全失去了一些东西,可能有几件事…