我想知道如何用python在Fast.com网站上抓取速度的量
我做了一些努力,这是我到目前为止所做的:
import requests
from bs4 import BeautifulSoup
response = requests.get('https://fast.com/', headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/600.7.12 (KHTML, like Gecko) Version/8.0.7 Safari/600.7.12"})
soup = BeautifulSoup(response.text, 'lxml')
speed = soup.find('span', {'id' : 'speed-value'}).text
print(speed)输出总是"0“,有时它会给我一个错误
我的目标是在扫描后获得网站上显示的以MB/s为单位的速度数字。
我忘了做什么?
发布于 2020-10-04 04:49:12
根据我的个人经验,BeautifulSoups更适合静态页面。我建议使用Selenium进行更动态的使用。它将允许在javascript和etc加载后访问,以便更容易地进行web抓取。
from selenium import webdriver
driver_path = r"C:\chromedriver.exe"
driver = webdriver.Chrome(driver_path)
MBPS_CLASS = "speed-results-container"
driver.get("https://fast.com/")
while True:
print(driver.find_elements_by_class_name(MBPS_CLASS)[0].text)
# driver.find_element_by_id("speed-value").text # This works with ID alsohttps://stackoverflow.com/questions/64188814
复制相似问题