【问题标题】:How to web scrape a speed amount?如何网页抓取速度量?
【发布时间】:2020-10-03 20:44:33
【问题描述】:

我想知道如何使用 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 为单位的速度数。

我忘了做什么?

【问题讨论】:

    标签: python python-3.x web-scraping python-requests


    【解决方案1】:

    根据我的个人经验,BeautifulSoups 更适合静态页面。我会推荐 Selenium 以获得更动态的使用。它将允许在加载 javascript 等后进行访问,以便于网页抓取。

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-12
      • 2013-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-18
      • 2020-04-11
      相关资源
      最近更新 更多