Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите пожалуйста с curl
Форумы портала PHP.SU » » Вопросы новичков » Помогите пожалуйста с curl

Страниц (1): [1]
 

1. Facecontrol - 18 Февраля, 2020 - 18:11:23 - перейти к сообщению
Почему-то не могу спарсить сайт с помощью curl вот код.
PHP:
скопировать код в буфер обмена
  1. $url1="https://m.vten.ru/";
  2. $curl=curl_init();
  3. curl_setopt($curl, CURLOPT_URL, $url1);
  4. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  6. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  7. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  8. $site1=curl_exec($curl);
  9. echo $site1;

Что я делаю не так?
2. Vladimir Kheifets - 18 Февраля, 2020 - 20:21:00 - перейти к сообщению
Facecontrol пишет:
Почему-то не могу спарсить сайт с помощью curl вот код.
PHP:
скопировать код в буфер обмена
  1. $url1="https://m.vten.ru/";
  2. $curl=curl_init();
  3. curl_setopt($curl, CURLOPT_URL, $url1);
  4. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  6. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  7. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  8. $site1=curl_exec($curl);
  9. echo $site1;

Что я делаю не так?

Добрый день!
Добавил option

echo $site1 выдал:
Цитата:
HTTP/1.1 304 Server: nginx Date: Tue, 18 Feb 2020 18:08:12 GMT Connection: keep-alive

Wikipedia:
Цитата:
304 Not Modified — сервер возвращает такой код, если клиент запросил документ методом GET,
использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента.
При этом сообщение сервера не должно содержать тела. Появился в HTTP/1.0.

Удачи!
3. Facecontrol - 19 Февраля, 2020 - 05:58:53 - перейти к сообщению
Vladimir Kheifets пишет:
Facecontrol пишет:
Почему-то не могу спарсить сайт с помощью curl вот код.
PHP:
скопировать код в буфер обмена
  1. $url1="https://m.vten.ru/";
  2. $curl=curl_init();
  3. curl_setopt($curl, CURLOPT_URL, $url1);
  4. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  6. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  7. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  8. $site1=curl_exec($curl);
  9. echo $site1;

Что я делаю не так?

Добрый день!
Добавил option

echo $site1 выдал:
Цитата:
HTTP/1.1 304 Server: nginx Date: Tue, 18 Feb 2020 18:08:12 GMT Connection: keep-alive

Wikipedia:
Цитата:
304 Not Modified — сервер возвращает такой код, если клиент запросил документ методом GET,
использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента.
При этом сообщение сервера не должно содержать тела. Появился в HTTP/1.0.

Удачи!




Спасибо за ответ. Только я не понимаю что мне с этим дальше делать, как решить проблему?
4. Vladimir Kheifets - 19 Февраля, 2020 - 07:49:45 - перейти к сообщению
Facecontrol пишет:
Спасибо за ответ. Только я не понимаю что мне с этим дальше делать, как решить проблему?

См. "Обход защиты от парсинга"
http://old[dot]code[dot]mu/books/advance[dot][dot][dot]ot-parsinga[dot]html
5. Facecontrol - 20 Февраля, 2020 - 21:51:20 - перейти к сообщению
Всё равно так и не нашёл решения проблемы. Можете показать нагляднее?
(Добавление)
Пробовал так.
CODE (htmlphp):
скопировать код в буфер обмена
  1. $url1="https://m.vten.ru/";
  2. $curl=curl_init();
  3. curl_setopt($curl, CURLOPT_URL, $url1);
  4. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  5.  
  6. curl_setopt($curl, CURLOPT_COOKIEFILE, __DIR__ . '/cookie.txt');
  7. curl_setopt($curl, CURLOPT_COOKIEJAR, __DIR__ . '/cookie.txt');
  8. curl_setopt($curl, CURLOPT_USERAGENT, 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36');
  9.  
  10. curl_setopt($curl, CURLOPT_HEADER, true);
  11. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  12.  
  13. $site1=curl_exec($curl);
  14. curl_close($curl);
  15. echo $site1;
  16.  


Не помогло
6. Vladimir Kheifets - 21 Февраля, 2020 - 07:48:01 - перейти к сообщению
Facecontrol пишет:
Всё равно так и не нашёл решения проблемы. Можете показать нагляднее?
(Добавление)
Пробовал так.
Спойлер (Отобразить)

Не помогло

Добрый день!
Допустим, что Вы сами или с чей то помощью сможе получить контент через cUrl
и Вы увидите body c кнопкой "Начать игру".
Спойлер (Отобразить)
Допустим Вы спарсите href.
Дальше пойдёт игра, а в ней только JS.
Не уверен в том, что Вы сможете, что-то сделать с JS-кодом игры.
Удачи!

 

Powered by ExBB FM 1.0 RC1