我努力抓取网页以提取csv链接。我使用了硒webdriver获取bs4可以使用的Page源。
driver = webdriver.Chrome(executable_path=ChromeDriver_Path, options=options)
driver.get("https://www.apple.com/covid19/mobility")
soup = BeautifulSoup(driver.page_source, "html.parser")
Link = soup.select('#download-card > div.download-button-container > a')[0].text
当我打印(链接)时,它返回一个空字符串。
答案 0 :(得分:0)
您无法使用BeautifulSoup做到这一点,因为它不支持javascript。并且该特定页面主要使用javascript构建。
您可以改用硒。像这样:
>>> from selenium.webdriver.common.by import By
>>> driver.find_element(By.ID,'download-card').find_element_by_class_name('download-button-container').find_elements_by_tag_name('a')[0].get_attribute('href')
'https://covid19-static.cdn-apple.com/covid19-mobility-data/2014HotfixDev17/v3/en-us/applemobilitytrends-2020-08-16.csv'
您可能会使它更漂亮。这只是快速又肮脏。