В общем есть у меня скрипт, который по запросу ссылки на сервис с фото, достает это фото и кладет в папку со скриптом
https://scrolller.com/i-was-told-to-post-this-here..., для начала скрипт ищет тег img, достает src и т.д
Проблема: с недавнего времени, судя по всему сайт обновился, скрипт перестал работать
async def download_image(self, url, logo=True):
ssl_context = ssl.create_default_context()
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(ssl=ssl_context)) as session:
async with session.get(url, headers=config.headers, cookies=config.cookies) as response:
if response.status == 200:
html_text = await response.text()
soup = BeautifulSoup(html_text, 'html.parser')
img_tag = soup.find("meta", property="og:image")['content']
async with session.get(img_tag) as response:
if response.status == 200:
image_data = await response.read()
rand_filename = f'{generate_random_name()}'
with open(f'images/{rand_filename}', 'wb') as file:
file.write(image_data)
self.upscale_image(f"images/{rand_filename}", f"images/{rand_filename}")
else:
print(f"[ERROR] Не удалось загрузить изображение:\n{url}")
Теперь он вытягивает вот такую html заглушку
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<script src="/popunderjs/combined.js"></script>
<script>
(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" });
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != "dataLayer" ? "&l=" + l : "";
j.async = true;
j.src = "https://www.googletagmanager.com/gtm.js?id=" + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, "script", "dataLayer", "GTM-NPV69RC");
</script>
<meta name="referrer" content="no-referrer" />
<meta name="theme-color" content="#1b252f" />
<meta name="trafficjunky-site-verification" content="wyy5spyy8" />
<meta name="exoclick-site-verification" content="aabc240ac7cdc9eae864d4761cca6570" />
<meta name="clickaine-site-verification" content="d27efeb8000f0d7746f25025962f00ac7fd8fe4521ecb81500c27f4c22350b5ba11927d0d5a74d62567c40cd1b2492fd53da8c4530689c9bbb6c3395cf1c49e5" />
<meta name="clckd" content="8747910dec50cf355eeec85e4f86e974" />
<meta name="juicyads-site-verification" content="9b7fde218decb7d1f5370ed74be67187" />
<meta name="eroads_" content="f38a18c69fb95b8c60b0fefaf4b80329" />
<link rel="manifest" href="/manifest.json" />
<link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="apple-touch-icon" sizes="120x120" href="/assets/apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon-180x180.png" />
<link rel="preconnect" href="https://yocto.scrolller.com" />
<link rel="preconnect" href="https://zepto.scrolller.com" />
<link rel="preconnect" href="https://atto.scrolller.com" />
<link rel="preconnect" href="https://femto.scrolller.com" />
<style>
body {
background-color: #1b252f;
}
</style>
<script type="module" crossorigin src="/assets/index-QigAz9tq.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index--Sk43b09.css">
</head>
<body>
<script async type="application/javascript" src="https://a.a3ion.com/ad-provider.js"></script>
<noscript>
<iframe
src="https://www.googletagmanager.com/ns.html?id=GTM-NPV69RC"
height="0"
width="0"
style="display: none; visibility: hidden"
>
</iframe>
</noscript>
<div id="root"></div>
<noscript> I need JavaScript to work! </noscript>
<script>
/*
Refresh service worker cache.
It's important that this logic is not in the main application because the service worker
can sometimes end up with an inconsistent cache with old files that no longer exist.
When that happens the application won't load and it won't ever refresh.
Wait for load to complete to avoid competeting with other more critical resources.
*/
if (navigator.serviceWorker !== undefined) {
window.addEventListener("load", () => {
navigator.serviceWorker.ready.then((registration) => {
registration.active.postMessage("refresh-cache");
});
});
}
</script>
<div id="old-browser-info" style="display: none">
<div style="color: white; text-align: center; line-height: 2">
This site needs a newer browser. <br/>
Try the old version at
<a style="color: white; text-decoration: underline" href="https://old.scrolller.com">
old.scrolller.com
</a>
</div>
</div>
<script>
if (window.IntersectionObserver === undefined) {
document.getElementById("old-browser-info").style.display = "block";
}
</script>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v84a3a4012de94ce1a686ba8c167c359c1696973893317" integrity="sha512-euoFGowhlaLqXsPWQ48qSkBSCFs3DPRyiwVu3FjR96cMPx+Fr+gpWRhIafcHwqwCqWS42RZhIudOvEI+Ckf6MA==" data-cf-beacon='{"rayId":"84e9236ffed782d3","version":"2024.1.0","token":"04ace5fab2ae4c4391477219c6054fa2"}' crossorigin="anonymous"></script>
</body>
</html>
Как это исправить? С чем связано? Подскажите, буду благодарен за наставление!