async def log_aiohttp_requests(session, url)
try:
response = await session.get(url):
if response.status == 200:
return response
except Exception as ex:
logger_aiohttp_requests.error(f"{ex} | {url}", exc_info=True)
return None
async def log_aiohttp_requests(session, url):
try:
async with session.get(url) as response:
if response.status == 200:
return response
except Exception as ex:
logger_aiohttp_requests.error(f"{ex} | {url}", exc_info=True)
return None
class Gmail:
def __init__(self, cookie):
self.cookie = self.convert_cookie(cookie)
self.mail = ""
self.session = self.create_session()
def create_session(self):
ua = UserAgent()
headers = {
"user-agent": ua.random
}
session = aiohttp.ClientSession(headers=headers, cookies=self.cookie)
return session
def convert_cookie(self, cookie):
converted = {}
text = cookie.split("\n")
for index, row in enumerate(text):
segments = row.split("\t")
if len(segments) == 7:
converted[f"{segments[5].strip()}"] = segments[6].strip()
return converted
Если у тебя не стоит задача исполнять javascript (т.е. считать что все ссылки на сайте доступны без его включения) то рекомендую воспользоваться готовыми инструментами, например wget умеет делать полную копию сайта с указанным уровнем вложенности.
Если стоит задача обрабатывать javascript то у тебя проблемы, никаких других универсальных способов, кроме как открывать сайт в браузере - нет, но можно взять старые версии webkit (версии, выпущенные лет 5-10 назад), на их основе мини браузер для анализа сайта будет потреблять очень мало оперативной памяти, а значит на одной машине таких скраперов может быть запущено сотнями, понятно что не все сайты смогут так работать, но процент достаточно высокий.
Так же можно попытаться разработать алгоритмы по определению, требует ли сайт полноценный браузер или ему хватит обычного wget и его аналогов. Что то можно вытащить, определив движок, на котором сайт написан, 90% интернета используют готовые фреймворки, у многих из них свои способы, где то можно попытаться вытащить карту сайта из кода, не выполняя его... стоит ли такая работа экономии на процессорах, хз