如何使用 BeautifulSoup 抓取实时更新网站?
How do I scrape live updating website using BeautifulSoup?
我一直在尝试从 worldometer.com(https://www.worldometers.info/) 中提取实时数据,尤其是健康部分的数据。我能够提取标题(例如:'Communicable disease deaths today',但我无法提取实时数据(数字)。有人可以帮我解决这个问题吗?
实时数据(数字)由 JavaScript 填充,您可以使用诸如 selenium 之类的自动化工具轻松获取它。这是一个例子。请 运行 代码。
脚本:
import time
from bs4 import BeautifulSoup
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
url = "https://www.worldometers.info/"
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.maximize_window()
time.sleep(5)
driver.get(url)
time.sleep(5)
soup = BeautifulSoup(driver.page_source, 'lxml')
num = soup.select_one('div#c49 > div > span.counter-number')
print(num.text)
输出:
2,134,658
我一直在尝试从 worldometer.com(https://www.worldometers.info/) 中提取实时数据,尤其是健康部分的数据。我能够提取标题(例如:'Communicable disease deaths today',但我无法提取实时数据(数字)。有人可以帮我解决这个问题吗?
实时数据(数字)由 JavaScript 填充,您可以使用诸如 selenium 之类的自动化工具轻松获取它。这是一个例子。请 运行 代码。
脚本:
import time
from bs4 import BeautifulSoup
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
url = "https://www.worldometers.info/"
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.maximize_window()
time.sleep(5)
driver.get(url)
time.sleep(5)
soup = BeautifulSoup(driver.page_source, 'lxml')
num = soup.select_one('div#c49 > div > span.counter-number')
print(num.text)
输出:
2,134,658