#web-scraping
#веб-очистка
Вопрос:
Я пытаюсь найти в Интернете сайт для тестирования скорости Интернета, но не могу получить данные. Я перепробовал несколько сайтов, на которых требуется щелчок, но не смог найти нужное место на HTML-странице с кнопкой. Поэтому я переключился на сайт, который не требует нажатия кнопки. Но теперь я не получаю результат обратно, несмотря на то, что я подождал 60 секунд до завершения теста. Когда я просматриваю HTML-код в браузере, после завершения теста я вижу результаты, но они не включены в загруженную HTML-страницу, и я не понимаю, почему. Вот код, который я использовал (Python):
from bs4 import BeautifulSoup as bs
from time import sleep
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
URL = 'https://www.bezeq.co.il/internetandphone/internet/speedtest/'
chrome_options = Options()
#chrome_options.add_argument("--headless")
driver = webdriver.Chrome(options=chrome_options)
driver.get(URL)
sleep(60) # give time for the test to finish
page0 = driver.page_source
driver.close()
Когда я просматриваю HTML-код на сайте, я вижу результаты (загрузка 9501, загрузка 86.19), но они не отображаются в ‘page0’, который я получаю от драйвера.
<div class="bezeq-results">
<div class="speed download">
<div class="title">מהירות הורדה</div>
<div class="value">86.19 Mb/s</div>
</div>
<div class="speed upload">
<div class="title">מהירות העלאה</div>
<div class="value">9501 Kb/s</div>
</div>
<div class="info"><span class="company"><span class="value">ITC NG ltd</span> <span class="hebrew">:ספק</span></span><span class="ping">Ping: <span class="value">30ms</span></span><span class="ip">IP: <span class="value">185.108.81.221</span></span></div>
<button class="btn">בדוק שוב</button>
</div>
Что я делаю не так? Как я должен получить эти данные?
Комментарии:
1. С какой целью вы хотите пройти тест на скорость интернета? если вы хотите узнать скорость вашего соединения, вы можете использовать
speedtest-cli
2. У меня есть некоторые проблемы с Интернетом, поэтому я хочу запускать тест каждые полчаса и получать журнал скорости, чтобы увидеть, когда он замедляется. В любом случае, мой вопрос также касается того, чтобы узнать, как обрабатывать веб-очистку для таких случаев
Ответ №1:
Я обнаружил, что данные находятся в Iframe. Поэтому мне пришлось выполнить запрос, чтобы получить данные из Iframe, и я получил данные