wlad1164
Новичок
Доброго времени суток.
Сразу скажу что понимаю что парсить чужие сайты не хорошо, но: имеется необходимость парсить страницу в которой часть данных загружается по нажатии на кнопку.
Через консоль перехватил AJAX запрос и создал такой же у себя в php скрипте и вроде бы все заработало, но проблему с кодировкой решить не получается...
Подскажите как перекодировать данные, либо может быть место где я что то сделал не так.
Страница, которую я пытаюсь распарить : megagenerator.ru/zagadka/ (надеюсь модераторы не сочтут за рекламу)
Сразу скажу что понимаю что парсить чужие сайты не хорошо, но: имеется необходимость парсить страницу в которой часть данных загружается по нажатии на кнопку.
Через консоль перехватил AJAX запрос и создал такой же у себя в php скрипте и вроде бы все заработало, но проблему с кодировкой решить не получается...
Подскажите как перекодировать данные, либо может быть место где я что то сделал не так.
Страница, которую я пытаюсь распарить : megagenerator.ru/zagadka/ (надеюсь модераторы не сочтут за рекламу)
PHP:
<?php
$headers = array(
'Accept: */*',
'Accept-Encoding: gzip, deflate',
'Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
'Connection: keep-alive',
'Content-Length: 4',
'Content-Type: application/x-www-form-urlencoded; charset=UTF-8',
'Cookie: PHPSESSID=048f60f7a1743660521dff3b332e81c1; _ym_uid=1566418249193834098; _ym_d=1566418249; _ym_visorc_34874180=w; _ym_isad=2; _a_d3t6sf=duBDdj2fTKSV9GtxQ9QIOu6N',
'Host: megagenerator.ru',
'Origin: http://megagenerator.ru',
'Referer: http://megagenerator.ru/zagadka/',
'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36',
'X-Requested-With: XMLHttpRequest'
);
// options
$options = array(
CURLOPT_URL => 'http://megagenerator.ru/zagadka/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query(array( 'conn'=>'')),
CURLOPT_CONNECTTIMEOUT => 20,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_TIMEOUT => 20,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.170 Safari/537.36 OPR/53.0.2907.99'
);
// curl
$curl = curl_init();
curl_setopt_array($curl, $options);
$data = curl_exec($curl);
curl_close($curl);
print_r($data);
?>
��}ksG��g*����v�h<��lI�Q�<��NL� F�����nw7H�2#F��qa�hvno��3;����oG��X��/��~�efU?�A��\e�@�2++++3�*�1�.��r��͟�w�u����ڹ���Y��iJ^_�C��/|���l�g4���u/���aMi�ԃnse�J��l7ܲ�a��iJ�y���=�H� �;A��2��z�4o�|����z�2�=�`�2& ʖio��g���ߨTzFG��ᩁ�)^����J�5z�_��+Ԝ����<�jJ���F ��e�J[�1���BP]����K,J4%*]�S�i�a�#��.��(i����h���ۖ�A��^E�@�S�̖_驁ᙪe~dT��ʒR�@���Jϴ�8\H����K����'�ǃ��_��c6x�����_@�w���F#��jA�6��Ju]����t슧�g��,�2���A��HG��m:֯p�L�����'�:��N�L� @j�,�=��R�����)n��M�T�5�t��{�&Ц������<���֔*��mb�����5l��|�_�U���^|�8� T�- ........(отрывок из результата, но дальше примерно тоже)
HTML:
<div id="st">
<div class="question">
В каком городе жил и работал К.Э. Циолковский? </div>
<div class="input-field answer_select" align="center">
<div id="first_answ" class="q_answer">Рязань</div>
<div id="second_answ" class="q_answer">Брянск</div>
<div id="third_answ" class="q_answer">Калуга</div>
<div id="four" class="q_answer">Тула</div>
<script>
$('.q_answer').click(function(){
var selected_answer = $(this).text();
var cor_answer = 'Калуга';
if (selected_answer == cor_answer){
$(this).addClass("correct_answer");
}
else{
$(this).css('color','red');
$(".q_answer:contains('Калуга')").addClass("correct_answer");
}
});
</script>
<style>
#result{text-align:center;}
.answer_select{width:600px;display:inline-block;}
.q_answer{cursor:pointer;width:50%;float:left;font-size:18pt;font-weight:400;}
.correct_answer{color:green;font-weight:800;}
.question{width:100%;text-align:center;font-size:18pt;font-weight:400;}
</style>
</div>
</div>