【发布时间】:2021-06-17 03:28:16
【问题描述】:
所以我试图通过使用 python 进行网页抓取从网站中提取一些数据,但一些 div 标签没有扩展以显示我想要的数据。
这是我的代码。
import requests
from bs4 import BeautifulSoup as soup
uq_url = "https://my.uq.edu.au/programs-courses/requirements/program/2451/2021"
headers = {
'User-Agent': "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.27 Safari/537.17"
web_r = requests.get(uq_url, headers=headers)
web_soup = soup(web_r.text, 'html.parser')
print(web_soup.prettify())
这是代码将抓取的内容,但它不会提取 id="app" 的 div 中的任何数据。它应该有很多数据,如第二张图片。任何帮助将不胜感激。
【问题讨论】:
-
有时候需要等待网页加载完毕,——这可以通过web驱动来实现——我也经历过对于某些元素比如
iframes你需要输入@987654328 @如果您使用的是 web 驱动程序,例如 selenium -
谢谢,如果我用的是webdriver,你说的需要进入iframe是什么意思?
-
所以这对于
app可能不可行,但这里是iframe的示例 -
您很可能需要等待页面加载,并使用 webdriver 示例:
WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.container-fluid#app"))).get_attribute("outerHTML")
标签: python html web-scraping