Создать форум бесплатно: ixbb.ru :: Календарь на Май 2024 года: calendar2008.ru/2024/may/

Страницы: (2) 1 [2]  ( Перейти к первому непрочитанному сообщению ) Reply to this topicStart new topicStart Poll

Браузерозависимый парсинг етить... о_О

Матроскин
Отправлено: May 4 2011, 03:43 PM
Quote Post


  Генерал
*

Группа: Members
Сообщений: 245
Пользователь №: 2581
Регистрация:
9-June 09



QUOTE (meta-trader @ May 4 2011, 02:26 PM)
UP

Отображется на денвере конечно, на хостинге такая трабла:

504 Gateway Time-out
nginx

Ошибка говорит о том, что истекло время для запроса... возможно были траблы с форумом или с твоим серваком - попробуй позже.


--------------------
PMEmail PosterUsers Website
Top
meta-trader
Отправлено: May 4 2011, 08:11 PM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 1120
Пользователь №: 1194
Регистрация:
11-October 07



Сейчас пробую без переменной.

Техподержка ответила:
"Указанный Вами адрес 188.120.248.138 не заблокирован и сервер к нему успешно подключается.
Права записи на все файлы должны быть 644, а на директории 755.
Если файл не содержит вирусы, то он будет сохранен на сервере.

Сообщите ели мы можем ещё чем-то вам помочь.
Спасибо."

Кстати у тебя какие права поставлены?
Я пытался и так и сяк. Даже на папку 755 и файл 755 установить - безрезультатно.

PS: без переменной тоже не работает.


--------------------
Нужен форум для сайта? Создать свой форум
Нравятся ролевые игры? Создать форум для ролевой игры - создай ролевую и наслаждайся игрой!
Международный сервис фришных форумов - создать форум бесплатно.
PMEmail PosterUsers WebsiteICQ
Top
meta-trader
Отправлено: May 5 2011, 02:56 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 1120
Пользователь №: 1194
Регистрация:
11-October 07



Продолжаем тему парсинга smile.gif

В коде страницы есть такое:

QUOTE
<li class="item3"><span>Зарегистрированных пользователей: </span><strong>1104</strong></li>


Я сделал так, чтобы выдергнуть то, что в тегах стронг:

CODE
$pattern3 = '/<li class=\"item3\"><span>Зарегистрированных пользователей: <\/span><strong>(.*)<\/strong><\/li>/i';
preg_match($pattern3, $read, $users);


А переменная $users[1] пуста sad.gif
Что не так? Вроде кавычки и сплеши экранированы... и ошибок не выводит, а результата нет.


--------------------
Нужен форум для сайта? Создать свой форум
Нравятся ролевые игры? Создать форум для ролевой игры - создай ролевую и наслаждайся игрой!
Международный сервис фришных форумов - создать форум бесплатно.
PMEmail PosterUsers WebsiteICQ
Top
Матроскин
Отправлено: May 5 2011, 10:30 AM
Quote Post


  Генерал
*

Группа: Members
Сообщений: 245
Пользователь №: 2581
Регистрация:
9-June 09



QUOTE (meta-trader @ May 4 2011, 07:11 PM)
Сейчас пробую без переменной.

Техподержка ответила:
"Указанный Вами адрес 188.120.248.138 не заблокирован и сервер к нему успешно подключается.
Права записи на все файлы должны быть 644, а на директории 755.
Если файл не содержит вирусы, то он будет сохранен на сервере.

Сообщите ели мы можем ещё чем-то вам помочь.
Спасибо."

Кстати у тебя какие права поставлены?
Я пытался и так и сяк. Даже на папку 755 и файл 755 установить - безрезультатно.

PS: без переменной тоже не работает.

Это стандартный бредовый ответ техподдержки, чтобы отвязался. Права тут совсем не при чем - мы ведь ничего никуда не записываем. Скрипт пытается при помощи функций для чтения получить (прочитать) содержимое файла на стороннем ресурсе, но уж никак не сохраняет его никуда.
Поэтому хостеру логично было бы задать ответ, на который желательно получить конкретный ответ: "Почему один и тот же скрипт читает файл с одного сервера, но не читает его с другого? Почему на Денвере все работает, а у хостера тот же скрипт не работает?"


--------------------
PMEmail PosterUsers Website
Top
Матроскин
Отправлено: May 5 2011, 10:39 AM
Quote Post


  Генерал
*

Группа: Members
Сообщений: 245
Пользователь №: 2581
Регистрация:
9-June 09



QUOTE (meta-trader @ May 5 2011, 01:56 AM)
Продолжаем тему парсинга smile.gif

В коде страницы есть такое:



Я сделал так, чтобы выдергнуть то, что в тегах стронг:

CODE
$pattern3 = '/<li class=\"item3\"><span>Зарегистрированных пользователей: <\/span><strong>(.*)<\/strong><\/li>/i';
preg_match($pattern3, $read, $users);


А переменная $users[1] пуста sad.gif
Что не так? Вроде кавычки и сплеши экранированы... и ошибок не выводит, а результата нет.

Кавычки экранировать не обязательно - это не спецсимволы и сам шаблон заключен в одинарные, а не в двойные кавычки.
У меня все работает - выводится число 1104, возможно где-то ошибся в коде. Попробуй распечатать значение $read - скорее всего туда ничего не попадает.


--------------------
PMEmail PosterUsers Website
Top
meta-trader
Отправлено: May 5 2011, 11:50 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 1120
Пользователь №: 1194
Регистрация:
11-October 07



Напишу хостеру ещё.

А со скриптом я разобрался. сложнейший скрипт написал уже, он работает! smile.gif

CODE

$adress = 'support.liveforums.ru';
$read = file_get_contents("http://$adress/index.php");
$pattern = '/<title>(.*)<\/title>/i';
preg_match($pattern, $read, $res);
$title_forum=iconv("cp1251", "utf-8", $res[1]);

$pattern1 = '/var BoardCat = (.*)\;/i';
preg_match($pattern1, $read, $categ);

$pattern2 = '/BoardStyle = \'(.*)\'\;/i';
preg_match($pattern2, $read, $style);

$pattern3 = '/<li class=\"item1\"><span>(.*): <\/span><strong>(.*)<\/strong><\/li>/i';
preg_match($pattern3, $read, $alltems);

$pattern4 = '/<li class=\"item2\"><span>(.*): <\/span><strong>(.*)<\/strong><\/li>/i';
preg_match($pattern4, $read, $allposts);

$pattern5 = '/<li class=\"item3\"><span>(.*): <\/span><strong>(.*)<\/strong><\/li>/i';
preg_match($pattern5, $read, $allusers);

$pattern6 = '/<li class=\"item4\"><span>(.*): <\/span><strong><a href=\"http:\/\/(.*)\">(.*)<\/a><\/strong><\/li>/i';
preg_match($pattern6, $read, $prevuser);
$prevuser_url=$prevuser[2];
$prevuser_name=iconv("cp1251", "utf-8", $prevuser[3]);

$pattern7 = '/<a title=\"(.*)\.\" href=\"online.php\">(.*)<\/a> \((.*) <strong>(.*)<\/strong>, (.*)<strong>(.*)<\/strong>; (.*) <strong>(.*)<\/strong>, (.*)\)/i';
preg_match($pattern7, $read, $inform);
//Array, Активны, Гостей:, 9, Пользователей: , 0, Рекорд:, 43, установлен 2009-11-18, ,

$array=iconv("cp1251", "utf-8", $inform[1]);
$activ=iconv("cp1251", "utf-8", $inform[2]);
$guests=iconv("cp1251", "utf-8", $inform[3]);
$num_guests=iconv("cp1251", "utf-8", $inform[4]);
$users=iconv("cp1251", "utf-8", $inform[5]);
$num_users=iconv("cp1251", "utf-8", $inform[6]);
$record=iconv("cp1251", "utf-8", $inform[7]);
$num_record=iconv("cp1251", "utf-8", $inform[8]);
$date_record=iconv("cp1251", "utf-8", $inform[9]);
?>


И вывод инфы:
CODE

<ul>
<li><a target="_blank" href="click.php?url=<?php echo $adress ?>">Переход на форум</a></li>
<li>Категория форума: <a href=""><?php echo $categ[1] ?></a></li>
<li>Текущий стиль форума: <?php echo $style[1] ?></li>
<li>Зарегистрировано участников: <?php echo $allusers[2] ?></li>
<li>Последним зарегистрирован: <a target="_blank" href="click.php?url=<?php echo $prevuser_url?>"><?php echo $prevuser_name ?></a></li>
<li>Тем на форуме всего: <?php echo $alltems[2] ?></li>
<li>Сообщений на форуме: <?php echo $allposts[2] ?></li>
<li><a target="_blank" href="click.php?url=<?php echo $adress ?>/search.php?action=show_24h">Сообщения за последние сутки</a></li>
<li><a target="_blank" href="click.php?url=<?php echo $adress ?>/online.php">Онлайн</a>: гостей <?php echo $num_guests ?>, участников <?php echo $num_users ?>.</li>
<li>Рекорд: <?php echo $num_record ?> <?php echo $date_record ?></li>
</ul>


--------------------
Нужен форум для сайта? Создать свой форум
Нравятся ролевые игры? Создать форум для ролевой игры - создай ролевую и наслаждайся игрой!
Международный сервис фришных форумов - создать форум бесплатно.
PMEmail PosterUsers WebsiteICQ
Top
Матроскин
Отправлено: May 5 2011, 12:14 PM
Quote Post


  Генерал
*

Группа: Members
Сообщений: 245
Пользователь №: 2581
Регистрация:
9-June 09



Жесть biggrin.gif


--------------------
PMEmail PosterUsers Website
Top
meta-trader
Отправлено: May 5 2011, 12:49 PM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 1120
Пользователь №: 1194
Регистрация:
11-October 07



???

Я хотел сделать за один раз... Но почему то пустое пространство с видимо табуляцией и переходом строк не считалось выражением (.*) sad.gif

Пришлось каждую строчку отдельно функцией preg_match обрабатывать.


--------------------
Нужен форум для сайта? Создать свой форум
Нравятся ролевые игры? Создать форум для ролевой игры - создай ролевую и наслаждайся игрой!
Международный сервис фришных форумов - создать форум бесплатно.
PMEmail PosterUsers WebsiteICQ
Top
meta-trader
Отправлено: May 5 2011, 04:00 PM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 1120
Пользователь №: 1194
Регистрация:
11-October 07



Ну вот нашлась проблема.
Если у форума нет xml-фида то получается такое:
QUOTE
Warning: simplexml_load_file() [function.simplexml-load-file]: http://zakaz.liveforums.ru/export.php?type=xml&max=10:1: parser error : Start tag expected, '<' not found in Z:\home\LiveRolka2011.ru\www\this_forum.php on line 14

Warning: simplexml_load_file() [function.simplexml-load-file]: Forbidden in Z:\home\LiveRolka2011.ru\www\this_forum.php on line 14

Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in Z:\home\LiveRolka2011.ru\www\this_forum.php on line 14


Как проверку-то сделать?
Ума не приложу, блин.

Не помогает так:
CODE

if(simplexml_load_file("http://$adress/export.php?type=xml&max=10")==true)
{
код остальной
}


--------------------
Нужен форум для сайта? Создать свой форум
Нравятся ролевые игры? Создать форум для ролевой игры - создай ролевую и наслаждайся игрой!
Международный сервис фришных форумов - создать форум бесплатно.
PMEmail PosterUsers WebsiteICQ
Top
meta-trader
Отправлено: May 5 2011, 04:03 PM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 1120
Пользователь №: 1194
Регистрация:
11-October 07



Придумал:
CODE

if(file_get_contents("http://$adress/export.php?type=xml&max=10")!='Forbidden')
{
код остальной
}


--------------------
Нужен форум для сайта? Создать свой форум
Нравятся ролевые игры? Создать форум для ролевой игры - создай ролевую и наслаждайся игрой!
Международный сервис фришных форумов - создать форум бесплатно.
PMEmail PosterUsers WebsiteICQ
Top

Topic OptionsСтраницы: (2) 1 [2]  Reply to this topicStart new topicStart Poll

 



[ Script Execution time: 0.0308 ]   [ 10 queries used ]   [ GZIP выключен ]