Перестал работать парсер

12
4ksner
На сайте с 26.02.2010
Offline
34
2287

Несколько месяцев назад написал парсер, для граббинга новостей. Все хорошо работало, до сегодняшнего дня. Теперь при запуске скрипта выдается следующая ошибка:

Warning: file_get_contents(http://адрес_сайта/) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in /адрес_скрипта/parser/simple_html_dom.php on line 39

Такое ощущение, что админы сайта что то сделали, чтобы не дать возможность парсить сайт.

Пробовал пинговать сайт со своего сервера - пинги успешно проходят.

Подскажите, что за ошибка и как ее исправить??

Не в деньгах счастье - человек, имеющий десять миллионов долларов, может быть ничуть не счастливее человека, имеющего девять.
DV
На сайте с 01.05.2010
Offline
644
#1

HTTP/1.1 500 Internal Server Error in /адрес_скрипта/parser/simple_html_dom.php on line 39

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
SP
На сайте с 15.03.2012
Offline
1
#2

Походу вас вычеслили пробуйте через прокси!

[Удален]
#3

Пиши хостеру тут без кода смотреть нечего.

DV
На сайте с 01.05.2010
Offline
644
#4
Waranez:
Пиши хостеру тут без кода смотреть нечего.

😂

Отжиг.

4ksner
На сайте с 26.02.2010
Offline
34
#5
Scripter_Pro:
Походу вас вычеслили пробуйте через прокси!

Поэтому я проверил пинг их сервера, но пинги проходят нормально, значит прокси здесь не поможет. Блокируют как то по другому.

Waranez:
Пиши хостеру тут без кода смотреть нечего.

У меня выделенный сервер.

DenisVS:
HTTP/1.1 500 Internal Server Error in /адрес_скрипта/parser/simple_html_dom.php on line 39

В этой строчке код $html = file_get_html('адрес_сайта');. Код не менялся.

DV
На сайте с 01.05.2010
Offline
644
#6

4ksner, натравите на другой URL, по-моему, сам скрипт отваливается.

4ksner
На сайте с 26.02.2010
Offline
34
#7

Если изменить адрес сайта то ошибку не выдает. Ну и ни чего не происходит конечно, потому как не может найти нужные блоки.

DV
На сайте с 01.05.2010
Offline
644
#8

Дебаг делать, что ж ещё... Вставляйте сигнальные echo, смотрите, как работает. Если скрипт не предусматривает вывод вообще, можно пускуать из консоли.

Второй вариант, запустите на другой машинке, хоть под Денвером, тогда будет видно, бан или нет.

maldivec
На сайте с 04.11.2008
Offline
160
#9

Переделайте лучше скрипт через CURL, будет более точная имитация серфинга через браузер. Может там тупо без юзерагента блочат соединение.

seosniks
На сайте с 13.08.2007
Offline
389
#10

попробуйте создать файл test.php

укажите сайт который перестал пахать, и поглядите будет ли толк.

<?php

$x=file_get_contents("http://адрес_сайта/");
echo $x;
?>

и еще вариант

$cat="http://адрес_сайта/";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,trim($cat));
curl_setopt($ch, CURLOPT_HEADER,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_REFERER, 'http://yandex.ru');
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt');
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla Firefox 3 (compatible; MSIE 6.0; LAS Linux)");
echo $contents = curl_exec($ch);

И поглядите что отдаст CURLOPT_HEADER,1

Не забудьте права на папку создать 777 либо создайте файл cookie.txt права чтение запись типа так 666

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий