Приветствую!
В данный момент я делаю парсер для сайта и использую
Selenium на Python, а также JS, но так как скорость Selenium - а в рамках текущего проекта не столь высока, то приходится исследовать запросы и ответы в Networking -> XHR.
Я заметил один get запрос, при выполнении которого сайт получает json со всеми нужными данными.
Но когда это делаю уже я через requests.get(), то не получаю таких же данных (JSON), которые получает сайт.
Насколько я понимаю, это защита от парсинга.
Если это действительно защита от парсинга, то как можно получить JSON с сервера?
Вместо ожидаемого JSON получаю такой ответ с JS кодом md5 хэширования:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="10;URL=/ciez2a">
</head>
<body>
<script type="text/javascript">
function md5cycle(e,t){var i=e[0],a=e[1],r=e[2],n=e
var ipp = {
decrypt:function()
{
var decrypt = new JSEncrypt();
decrypt.setPrivateKey("MIIkKQIBAAKCCAEArbPJ2oT3hgoDGT");
return decrypt.decrypt("TbNVvQdiXzncfAzNISydUx0w4VUzgfDj05Sv5Xv4mZXcOWIWq");
},
setCookie:function()
{
document.cookie="ipp_key=" + this.decrypt() + "; path=/;";
document.cookie="ipp_uid=1621858146575/8SLIJxfpZaJLWSPi/0WagCYVKhhQ/JQnzVMhZow==; expires=Tue, 31 Dec 2030 23:59:59 GMT; path=/;";
document.cookie="ipp_uid1=1621858146575; expires=Tue, 31 Dec 2030 23:59:59 GMT; path=/;";
document.cookie="ipp_uid2=8SLIJxfpZaJLWSPi/0WagCYVKhhQ/JQnzVMhZow==; expires=Tue, 31 Dec 2030 23:59:59 GMT; path=/;";
},
makeUrl:function(url)
{
url += "fa821dba_ipp_key=" + this.decrypt() + "&" + "fa821dba_ipp";
return url;
}
};
(new Fingerprint2).get(function(e,t){
salt="1766454767";
document.cookie="ipp_sign="+e+"_"+salt+"_"+md5(e+salt)+"; expires=Tue, 31 Dec 2030 23:59:59 GMT; path=/;";
ipp.setCookie();
window.location.href = "https://brandshop.ru/getproductsize/298106/?" + window.location.hash;
})
</script>
</body>
</html>