python - регистрация ошибок при многопроцессорности

Я думал, что эта страница использует JavaScript для получения данных, но для обновления страницы используется старый метод HTML.

Он добавляет HTML-тег <meta http-equiv="refresh" content='**time**; url>, и браузер перезагружает страницу по истечении секунд.

Вы должны проверить этот тег - если вы его найдете, тогда вы можете подождать, и вам нужно загрузить снова. В основном вы можете перезагрузить страницу, не дожидаясь, и вы получите данные, или вы снова найдете этот тег.

import requests
from bs4 import BeautifulSoup
import time

site = 'some_site_name.com'
url = 'https://www.ssllabs.com/ssltest/analyze.html?d='+site

# --- 

while True:
    r = requests.get(url)

    soup = BeautifulSoup(r.text)

    refresh = soup.find_all('meta', attrs={'http-equiv': 'refresh'})
    #print 'refresh:', refresh 

    if not refresh:
        break

    #wait = int(refresh[0].get('content','0').split(';')[0])
    #print 'wait:', wait
    #time.sleep(wait)

# ---

table = soup.find_all('table', class_='reportTable', limit=5)

if table:
    table = table[-1]
    data = [str(td.text.split()[0]) for td in table.select("td.tableLeft")]
    print str(data)
else:
    print "[!] no data"
0
задан Satyaaditya 29 March 2019 в 10:53
поделиться