Не работают граберы

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 26 марта 2011 в 02:31
Перепробовал несколько модулей и скриптов, которые получают информацию со сторонних ресурсов и выводят ее на сайте. С завидным постоянством они не хотят работать. На денвере все замечательно, а как только заливаю на сервак… работает все, кроме вывода информации… Видимо это настройки хостинга… рылся там, вроде все перепробовал — не помогает. Подскажите пожалуйста, в чем дело, и можно ли это вылечить?
#2 26 марта 2011 в 02:39
Какие скрипты? Что пишут? Код ошибки?
Анализы на стол, пожалуйста, доктору небось и какашку в коробке и жижу в баночке несём, а тут надеемся на стихийную телепатию?
#3 26 марта 2011 в 03:44
Да))… я не спец, да и до любителя далековато, но такие вопросы действительно вызывают улыбку (мягко говоря)...
1.Но могу посоветовать проверить в ваших скриптах пути (адреса) файлов...
2.Если хостинг платный — проблем с ним, не должно быть (как и на большинстве бесплатных)
3.Для проверки хостинга можете воспользоваться оф. грабером от яндекса (яндекс новости)
#4 26 марта 2011 в 14:55
  1. <?php
  2. ini_set('user_agent',$_SERVER['HTTP_USER_AGENT']);
  3.  
  4. //грузим rss файл
  5. $data = file_get_contents('http://site.ru/rss');
  6.  
  7. //обрабатываем
  8. preg_match_all('|<pubDate>(.+)</pubDate>|i',$data,$dat);
  9.  
  10. preg_match_all('|<description><!\[CDATA\[(.+)\]\]></description>|i',$data,$content);
  11.  
  12. //теперь у нас есть 2 массива по 100 элементов, воспользуемся постраничным выводом
  13.  
  14. //всего элементов
  15. $all = sizeof($content[1]);
  16.  
  17. //число сообщений на странице
  18. $pnumber=5;
  19.  
  20. //номер страницы
  21. $page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
  22.  
  23. //число страниц
  24. $num_pages = ceil($all/$pnumber);
  25.  
  26. //начальная позиция
  27. $start = $page*$pnumber-$pnumber;
  28.  
  29. //проверка номера страницы
  30. if($page > $num_pages || $page < 1)
  31. {
  32. $page=1;
  33. $start=0;
  34. }
  35.  
  36. //заголовки
  37. if(substr_count($_SERVER['HTTP_USER_AGENT'], 'MSIE'))
  38. {header('Content-type: text/html; charset=utf-8');}
  39. else
  40. {header('Content-type: application/xhtml+xml; charset=utf-8');}
  41.  
  42. header('Cache-control: no-cache');
  43.  
  44. //выводим верх страницы (html код, выносим за <?php
  45.  
  46. print '<?xml version="1.0" encoding="UTF-8"?>
  47. <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
  48. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
  49. <head>
  50. <title>'.$_SERVER['HTTP_HOST'].'</title>
  51. </head>
  52. <body>';
  53.  
  54.  
  55. //выводим цитаты
  56. if($all)
  57. {
  58. for($i=$start; $i<$start+$pnumber; $i++)
  59. {print '<p style="border:1px solid;padding:2px">'.$dat[1][$i].'<br />'.str_replace('<br>','
  60. ',iconv('windows-1251','utf-8',$content[1][$i])).'</p>';}
  61.  
  62. //навигация
  63. echo '<p>';
  64.  
  65. for($pr = '', $i=1; $i<=$num_pages; $i++)
  66. {
  67. echo $pr=(($i == 1 || $i == $num_pages || abs($i-$page) < 2) ? ($i == $page ? " [$i] " : ' <a href="'.$_SERVER['SCRIPT_NAME'].'?page='.$i.'">'.$i.'</a> ') : (($pr == ' ... ' || $pr == '')? '' : ' ... '));
  68. }
  69.  
  70. echo '</p>';
  71. }
  72. else
  73. {echo '<p>цитат нет</p>';}
  74.  
  75. print '</body></html>';
  76. ?>
В этом скрипте исправлял только кодировки с utf-8 на windows-1252 (ну и site.ru конечно). После исправления вместо пары крякозюбр выдает "цитат нет". Скрипт использовал как инклудинг модуль.
Такие же проблемы возникают и с Модулем Гороскоп: все работает кроме выдачи самого текста гороскопа. Вместо текста пишет "что его пока нет". На денвере с той же конфигурацией сайта все работает. Хостинг nic.ru
#5 26 марта 2011 в 15:05
Скорее всего на твоём хостинге запрещён парсинг. А теперь самое главное, ты свой сайт хочешь загнать под АГС ???
Тогда не советую парсить новости у людей. Яша сейчас весьма избирателен. Первая волна уже накрыла 60!!! процентов сайтов рунета. А это только отстройка фильтра. Представь что будет, когда фильтр настроят

Если хочешь парсить новости и гороскопы для своих пользователей, тогда делай это в закрытой зоне и не показывай гостям.
#6 27 марта 2011 в 03:55

Скорее всего на твоём хостинге запрещён парсинг.

Захар
Может быть… хм

ты свой сайт хочешь загнать под АГС ???

Захар
… есть над чем подумать… но в данной ситуации выбор сделан не мной)))
#7 30 марта 2011 в 00:10
Решил вопрос. У моего хоста в модуле php 5.2.10 не пахал парсинг… пришлось ставить php 5.1.6
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.