Я пытаюсь сохранить некоторые веб-страницы в формате PDF с помощью Python, используя pdfkit. На прошлой неделе это работало довольно хорошо (так что, думаю, это не ошибка кодирования мной). Теперь сайт изменил некоторые объявления, что вызывает проблему "Bad Gateway". Я думаю, что это может быть из-за какого-то веб-маяка. Когда pdfkit пытается сохранить страницу в формате PDF, я получаю следующий код ошибки:
Warning: A slow script was stopped
Error: Failed to load https://sync-eu.connectad.io/syncer/1,
with network status code 301 and http status code 502 - Error
downloading https://sync-eu.connectad.io/syncer/1 - server
replied: Bad Gateway
Сценарий в исходном коде страницы, которую я хотел бы сохранить, что, вероятно, вызывает ошибку:
<script type="text/javascript">
var ss=(function(){var pixelUrls=['https://sync-eu.connectad.io/syncer/1'];var MINS=60*1000;var SMARTSYNC_CALLBACK='serverbidCallBids';var SYNC_COOKIE_TTL=0*MINS;var SYNC_COOKIE='sb_ss';var pixelsInFlight=[];var inSecure=window.location.protocol.indexOf('s')<0;function createPixel(src){var p=document.createElement('iframe');p.setAttribute("height","0px");p.setAttribute("width","0px");p.setAttribute("border","0");p.setAttribute("frameBorder","0");p.setAttribute("style","position:absolute;");p.onerror=function(){return this.style.display="none";};p.setAttribute("src",src);if(window[SMARTSYNC_CALLBACK]){p.onload=function(){var i=pixelsInFlight.indexOf(src);if(i>=0){pixelsInFlight.splice(i,1);}
if(!pixelsInFlight.length){window[SMARTSYNC_CALLBACK]();}};pixelsInFlight.push(src);}
document.body.appendChild(p);}
function createCookie(){if(document.cookie.indexOf(SYNC_COOKIE)<0){var date=new Date();date.setTime(date.getTime()+ SYNC_COOKIE_TTL);return(document.cookie=SYNC_COOKIE+"; expires="+ date.toUTCString()+"; path=/"||1);}}
if(createCookie()){for(var i=0;i<pixelUrls.length;i++){var pixelUrl=pixelUrls[i];if(inSecure||pixelUrl.match(/^https:/)){createPixel(pixelUrl);}}}else if(window[SMARTSYNC_CALLBACK]){window[SMARTSYNC_CALLBACK]();}});var waitForDOM=function(evt){if(evt.target.readyState==="interactive"){ss();}}
document.addEventListener('readystatechange',waitForDOM,false);
</script>
Проблема в том, что pdfkit сохраняет PDF, но из-за ошибки прерывает цикл, поэтому сохраняется только одна, а не около десяти страниц.
Было бы здорово, если бы кто-нибудь помог мне решить эту проблему.