Como obter velocidade na web?
Oct 03 2020
Eu estava me perguntando como fazer o web scrape a quantidade de velocidade é o site Fast.com com python
Fiz algum esforço, aqui está o que fiz até agora:
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)
A saída é sempre "0" e às vezes me dá um erro
Meu objetivo é obter o número da velocidade em MB / s conforme mostrado no site após a varredura.
O que esqueci de fazer?
Respostas
2 SeanMorgan Oct 03 2020 at 20:49
BeautifulSoups é mais para páginas estáticas de minha experiência pessoal. Eu recomendaria Selenium para um uso mais dinâmico. Isso permitiria o acesso depois que o javascript e etc fossem carregados para facilitar a captura da 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 also
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino