Реклама на сайте Advertise with us

Как обойти при парсинге с помощью cURL

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 02/12/14 в 16:41       Ответить с цитатойцитата 

Выдает вот такое:
Цитата:
Вы используете устаревший браузер Opera. Вы не сможете в полной мере воспользоваться всеми функциями ****.com и некоторые элементы дизайна могут отображаться некорректно.
Мы рекомендуем вам обновить Opera, либо установить один из этих браузеров:
Internet Explorer 9
Opera
Mozilla Firefox
Google Chrome
Safari


вот функция которая отвечает за парсинг
Код:

function parser($url, $ip){

      $ch = curl_init();

      curl_setopt($ch, CURLOPT_URL, $url); // Url for Pars
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // TRUE
      curl_setopt($ch, CURLOPT_HEADER, 0); // FALSE
      curl_setopt($ch, CURLOPT_INTERFACE, $ip); // IP Server

      $output = curl_exec($ch);

      curl_close($ch);

   return $output;

}


посмотрел, должно быть еще
curl_setopt($ch, CURLOPT_USERAGENT, '******');
но пох, я писал туда разное, результат один

0
 



С нами с 20.10.14
Сообщения: 127
Рейтинг: 3

Ссылка на сообщениеДобавлено: 02/12/14 в 16:48       Ответить с цитатойцитата 

сформируйте корректно хидер и кукисы и будет вам радость

Новичок

7
 



С нами с 20.10.14
Сообщения: 127
Рейтинг: 3

Ссылка на сообщениеДобавлено: 02/12/14 в 16:56       Ответить с цитатойцитата 

ВОТ НАКИДАЛ ПРИМЕРНО КОД
function parser($url, $ip){
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[] = "Cache-Control: max-age=0";
$header[] = "Connection: keep-alive";
$header[] = "Keep-Alive: 300";
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header[] = "Accept-Language: en-us,en;q=0.5";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url); // Url for Pars
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // TRUE
curl_setopt($ch, CURLOPT_HEADER, $header); // FALSE
curl_setopt($ch, CURLOPT_INTERFACE, $ip); // IP Server
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookiefile");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookiefile"); # SAME cookiefile
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // don't check certificate
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // don't check certificate
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com');
$output = curl_exec($ch);

curl_close($ch);

return $output;

}

Последний раз редактировалось: frec (02/12/14 в 16:58), всего редактировалось 1 раз

Новичок

7
 



С нами с 20.10.14
Сообщения: 127
Рейтинг: 3

Ссылка на сообщениеДобавлено: 02/12/14 в 16:57       Ответить с цитатойцитата 

"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"

лучше это использовать - это последняя версия хрома
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36"

Новичок

8
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 02/12/14 в 18:05       Ответить с цитатойцитата 

толку 0 icon_sad.gif

0
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 02/12/14 в 18:34       Ответить с цитатойцитата 

Лучше использовать уже готовые надстройки на курлом.
https://github.com/php-curl-class/php-curl-class как вариант.

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

8
 



С нами с 17.08.11
Сообщения: 61
Рейтинг: 62

Ссылка на сообщениеДобавлено: 02/12/14 в 18:49       Ответить с цитатойцитата 

Lexikon писал:
толку 0 icon_sad.gif

В чём проблема то? Я не экстрасенс, но догадался, что ты грабишь runetki.com. А он грабится даже без юзер-агента, тупо через curl http://runetki.com. Сообщение об устаревшем браузере — оно выводится через условные комментарии при выводе HTML в браузер. Ты для начала определись, что будешь делать с их HTML. Если хочешь парсить — не вижу проблем. Если хочешь выводить юзерам — тебе надо инжектить base href в HTML документа, чтобы подгрузились все их стили и скрипты.

8
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 02/12/14 в 19:16       Ответить с цитатойцитата 

ravlio писал:
В чём проблема то? Я не экстрасенс, но догадался, что ты грабишь runetki.com. А он грабится даже без юзер-агента, тупо через curl http://runetki.com. Сообщение об устаревшем браузере — оно выводится через условные комментарии при выводе HTML в браузер. Ты для начала определись, что будешь делать с их HTML. Если хочешь парсить — не вижу проблем. Если хочешь выводить юзерам — тебе надо инжектить base href в HTML документа, чтобы подгрузились все их стили и скрипты.

Недавно они что-то поменяли, возникли некоторые проблемы с парсингом.
У меня скрипты без проблем работали, а сегодня запустил, а оно не работает. Парсер локальный был написан не на curl, но до этого он нормально работал.
А то что работало на curl , не получает данных со страницы http://runetki.com/allchats/
Даже если я в браузере ввожу напрямую (http://runetki.com/allchats/) выходится хедер и футер, самого контента нет (в категории нет моделей)

Последний раз редактировалось: Lexikon (02/12/14 в 19:22), всего редактировалось 1 раз

0
 



С нами с 17.08.11
Сообщения: 61
Рейтинг: 62

Ссылка на сообщениеДобавлено: 02/12/14 в 19:22       Ответить с цитатойцитата 

frec писал:
ВОТ НАКИДАЛ ПРИМЕРНО КОД
function parser($url, $ip){
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[] = "Cache-Control: max-age=0";
$header[] = "Connection: keep-alive";
$header[] = "Keep-Alive: 300";
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header[] = "Accept-Language: en-us,en;q=0.5";

А зачем это всё нужно? У курла итак идёт Accept: */* то есть сервер отдаст ему любой формат. Для достоверности? Могу сказать, что ни один веб-сервер и даже антиддос-фильтры не проверяют хедеры на подобное.

И зачем заподноевропейская кодировка? А если он будет парсить windows-1251? HTTP заголовки это такая тема — разрешено всё что не запрещено.

1
 



С нами с 17.08.11
Сообщения: 61
Рейтинг: 62

Ссылка на сообщениеДобавлено: 02/12/14 в 19:37       Ответить с цитатойцитата 

Lexikon писал:
Даже если я в браузере ввожу напрямую (http://runetki.com/allchats/) выходится хедер и футер, самого контента нет (в категории нет моделей)

Рунеток сейчас ддосят по всей видимости, у меня тоже нет моделей, а сейчас и сайт не грузится. Курл ни при чём.

9
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 02/12/14 в 19:45       Ответить с цитатойцитата 

вон оно что, это можно предположить, сегодня профит просто мизерный icon_confused.gif

0
 



С нами с 20.10.14
Сообщения: 127
Рейтинг: 3

Ссылка на сообщениеДобавлено: 03/12/14 в 01:06       Ответить с цитатойцитата 


Ну если будут проблемы, пишите тогда подробнее посмотрим/рю.

Новичок

-1
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »