Получайте данные с нашего веб-сайта только с помощью BeautifulSoup

#python #beautifulsoup #webdriver

Вопрос:

Я пытаюсь получить данные с этого сайта https://www.dsl.cz/test-mereni-rychlosti. (Этот веб-сайт измеряет скорость Интернета).

Что мне нужно напечатать:

 Test rychlosti připojení: 40
Test stahování připojení: 20
Poskytovatel internetu: Vodafone
 

Что я получаю:

 Test rychlosti připojení: <span id="download-result">...</span>
Test stahování připojení: <span id="upload-result">...</span>
Poskytovatel internetu: None
 

Мой код:

 import requests
import time
from bs4 import BeautifulSoup

URL = 'https://www.dsl.cz/test-mereni-rychlosti'
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')
time.sleep(1)

vysledek = soup.find_all('div', attrs={'class':'results'})
for job_data in vysledek:

    #Výsledek stahování
    stahovani = job_data.find('span', attrs={"id":"download-result"})
    print("Test rychlosti připojení: "   str(stahovani))

    #Výsledek ukládání
    ukladani = job_data.find('span', attrs={"id":"upload-result"})
    print("Test stahování připojení: "   str(ukladani))

    #Poskytovatel
    poskytovatatel = job_data.find('id', attrs={"id":"provider-result"})
    print("Poskytovatel internetu: "   str(poskytovatatel))
 

Что не так с моим кодом? У меня проблема с этим Интернетом, потому что есть что-то, что вычисляет скорость Интернета, и я не знаю, нужно ли для этого использовать только webdriver вместо BeautifulSoup (что мне действительно нужно).

Комментарии:

1. Это нечто называется JavaScript. Страница является динамичной, что означает bs4 , что эти показатели не будут отображаться.

2. Я предлагаю вам использовать решение типа селена здесь. Браузер проводит тест на скорость

Ответ №1:

Я не так уверен, что это возможно с красивым супом и просьбами. Я попробовал что-то подобное с google translate, но это не сработало. Попробуйте использовать selenium .

Комментарии:

1. Хорошо, Thx за помощью.