Веб-очистка интернет-сайта, на котором выполняется длительный тест

#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, и я получил данные