У меня есть код с селеном, который возвращает название списка сайтов.Этот заголовок создается с помощью Javascript (после загрузки веб-сайта он переходит от «Загрузка ...» к правильному заголовку примерно через полсекунды.) По этой причине программа загружает веб-сайт, ожидает изменения заголовка,и затем возвращает измененный заголовок.
Это код:
from pyvirtualdisplay import Display
from time import sleep
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.firefox.options import Options
display = Display(visible=0, size(800,600))
display.start()
urlsFile = open ("urls.txt", "r")
urls = urlsFile.readLines()
driver = webdriver.Firefox(executable_path='/usr/local/lib/geckodriver/geckodriver')
driver.set_page_load_timeout(60)
for url in urls:
try:
driver.get(url)
sleep(0.8)
print(driver.title)
except TimeoutException as e:
print("Timeout")
driver.quit()
Проблема в том, что список URL-адресов очень большой, поэтому для каждого веб-сайта мне приходится ждатьдля его загрузки, а затем 0,8 секунды для изменения названия и печати.Будет ли способ ускорить процесс?Например, загружая сразу несколько веб-сайтов или загружая следующий веб-сайт в течение 0,8 секунд, которые нужно ждать, пока предыдущий обновится с заголовком, чтобы это время не было потрачено зря.