GreyCrew
@GreyCrew
Full-stack developer

Как пасрсить в обход защиты?

Есть идея сделать свою библиотеку с пройденными играми, думаю парсить сайт word art. после перелопачивания гугла. обнаружил, что на сайте система защиты. Пробовал использовать phpQuery, simple_html_dom, а также XPath и DOM... ноль результатов, везде пустая страница, если при этом запрос страницы обернуть в функцию Curl, то парсер перенаправляет на страницу "www.world-art.ru/not_connect.html"

Есть ли способы решить данную проблему?
  • Вопрос задан
  • 1848 просмотров
Решения вопроса 2
sHinE
@sHinE
веб-разработчик, php/js/mysql и сопутствующее
Чтобы парсить ты должен стать как браузер, думать как браузер, слать те же запросы, как браузер.
Открываете средства разработчика, смотрите заголовки, которые отправляет браузер при доступе к сайту и отправляете те же самые хоть через курл, хоть через сокеты, хоть через file_get_contents.
А то, что вы перечислили - phpQuery, simple_html_dom, xpath/DOM - это всё к получению страницы отношения не имеет, как получите html-код - дальше чем хотите уже разбирайте.
Ответ написан
politon
@politon
HTML5,CSS3,JS,PHP,SQL,API,canvas,animation...
<?php
$ch = curl_init ("http://www.world-art.ru/");
$fp = fopen ("test_parser.txt", "w");
curl_setopt($ch, CURLOPT_USERAGENT, "google");//Наепали гуглом ;)
curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_exec ($ch);
curl_close ($ch);
fclose ($fp);
include 'test_parser.txt';
?>
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Rou1997
@Rou1997
Наиболее полезный ответ дал Антон , чтобы не "гадать на кофейной гуще" необходимо пользоваться инструментами отладки, в данном случае это сниффер, такой как Fiddler, Wireshark, Charles, или хотя бы web inspector (devtools) в браузере, сниффер в ботах это то же самое что рентгеновский аппарат в медицине.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SymbioWay Москва
от 120 000 до 180 000 ₽
АКМЭ сервис Санкт-Петербург
от 120 000 до 150 000 ₽
РосТендер Москва
от 130 000 до 150 000 ₽