Вот так можно посмотреть на перспективу. Открыть какой нибудь HH и
В теории, не знаю за js, но можно получить цвета и как то с ними поработать.
А на практике:
Где то диссонанс. С одной стороны мусора нет, а с другой его надо отсечь.
Я не стал разубеждать. Тут еще из расчета, что 2 ответа ответа донора (+ сеть) в сек.
А для среднестатистических сайтов с обвесом (хиты/похожие/с этим), результат скорее ближе к 1с будет. Если усреднить.
Ну вот, что бы не голословно (5 мин на коленке)
from time import time #, sleepimport requestsfrom multiprocessing.dummy import Pool as ThreadPoollinks = [ 'https://******', 'https://******', 'https://******', 'https://******', 'https://******', ]HEADERS = { 'accept':'*/*', 'user-agent':'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' }parser_output = []def parser(link: str): t0 = time() request = requests.get(link, headers=HEADERS, timeout=5) if request.status_code == 200: parser_output.append( (link, (time()-t0)*1000) )_t0 = time()pool = ThreadPool(20)pool.map(parser, links)print('All time:', (time()-_t0)*1000)times = [s[1] for s in parser_output]_s = sum(times) _a = _s / len(links)print('Response time: ', times, '\nSum Response time: ', _s, '\nAverage Response time: ', _a, )
В результате
1500 сайтов × 50000 документов =75000000 / 2 сек / 86400 сек = 434,028 суток чтобы только все забрать.
Там бот/парсер для начала нужен. Если последовательно:
Поправьте, если ошибся. Так что, в любом случае, только потоки.
А сам по себе поиск - сейчас все субд имеют хороший фуллтекс на борту с морфологией там, БМ25 всякие. Плюс какие то собственные словари, препроцессинг запроса. Вероятно, результат вполне приемлемый будет.
А как?
У меня пара вариантов
# YAMLmsg: ru: newusr: "Пользователь %s добавлен, пароль выслан на емайл" success: Успешно#codereturn {'success':1, 'modal': modal( request.app['cnf']['msg'][lang]['success'], request.app['cnf']['msg'][lang]['newusr'] % p['name'], _id = 'registerres', t = 'success'), 'tm' : time() }
Когда надо типа того:
А если шаблоны посложней, то
from jinja2 import Template........... if isinstance(body, dict) and tpl: tpl = Template(tpl) body = tpl.render( body ) msg.add_header('Content-Type', 'text/html') msg.attach(MIMEText(body, 'html', 'utf-8')) else: msg.attach(MIMEText(str(body), 'plain', 'utf-8'))
А кроме этого куска есть что? Чисто такой конф - рабочий.
Такое поведение, вероятно, если шорт таг в скрипте.