我正在尝试创建一个网络抓取工具,以收集有关Science Fair项目的数据。我正在为卡尔加里创建一张空气质量图。我正在从CRAZ website获取数据,当我在Chrome中检查代码时,它显示了我想要的数据。
我的代码在图片下方:
from bs4 import BeautifulSoup as Bsp
import requests as r
page_ce = r.get('https://craz.ca/monitoring/calgary-central/')
soup = content = Bsp(page_ce.content, 'html.parser')
ce_d = soup.find(id='mainTable')
print(ce_d)
答案 0 :(得分:0)
您可以在不打开窗口的情况下使用硒。 Selenium执行javascript,因此您可以抓取。
为此,请添加“ --headless”选项。如果您的服务器是Windows,则还要添加“ --disable-gpu”。如果您的服务器是linux,请添加“ --no-sandbox”。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
# chrome_options.add_argument("--disable-gpu") # windows only
# chrome_options.add_argument("--no-sandbox) # linux only
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(options=chrome_options)
driver.get("https://craz.ca/monitoring/calgary-central/")
然后可以用硒刮擦。