За последние 24 часа нас посетили 23016 программистов и 1724 робота. Сейчас ищут 1607 программистов ...

Проблема со скриптом парсера новостей

Тема в разделе "Вопросы от блондинок", создана пользователем mayka_net, 3 сен 2011.

  1. mayka_net

    mayka_net Активный пользователь

    С нами с:
    3 сен 2011
    Сообщения:
    2
    Симпатии:
    0
    Адрес:
    Светлоград
    Здравствуйте.

    В скриптах дуб, поэтому прошу помощи.

    Есть сайт, там парсер (парсит новости).
    Парсит очень глючно, новости с большим опозданием и то через раз "парсятся".
    Парсит с RSS (коммерсант ру, правда ру и т.д. онлайн газеты), все рабочие.

    Включил просмотр ошибок, вот они (ошибка, внизу кусок кода):

    Ошибка:
    Strict Standards: Only variables should be passed by reference in **** on line 236
    Notice: Undefined index: CHANNEL in ****** on line 237

    Код
    $depth = count($this->tags);
    (236 строка) list($parent, $num) = each($tmp = end($this->tags));
    (237 строка) if($parent) $this->tags[$depth-1][$parent][$tagname]++;

    Ошибка:
    Notice: Undefined index: RSS, LINK, PUBDATE, TYPE, IMAGE и так далее, дофига всего in /home4/****/*****/www/news/parser/update_news.php(302) : eval()'d code on line 1


    Код:
    В 302 строке: eval("$evalcode = $evalcode . '" . addslashes($data) . "';");

    И последняя:
    Ошибка:
    Strict Standards: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSD/4,0/DST' instead in /home4/****/*****/www/news/parser/update_news.php on line 325 и 326

    Код:
    global $DBPrefix;
    extract($data);
    if(!$TITLE) return;

    $category = new Category();

    (325 строка) $timestamp = strtotime($PUBDATE);
    (326 строка) $date = date("Y-m-d h:i:s",$timestamp);
    if ($this->convert!='')

    Кто нибудь поможет?
    Если нужны еще какие нибудь данные, то предоставлю.
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Парсеров я писал много. Очень много.
    Тут только одним можно помочь - заказывай новый. Стареет не только код, но и меняется формат вещания.
    Поэтому парсеры не долговечны, как правило.

    Глобалы, экстракты, эвалы, куча ноутисов - жесть.
    Переписывай сам (ну или заказывай новый), не мучайся. Это обойдется дешевле, и нервов потратишь меньше.
     
  3. mayka_net

    mayka_net Активный пользователь

    С нами с:
    3 сен 2011
    Сообщения:
    2
    Симпатии:
    0
    Адрес:
    Светлоград
    Спасибо. Уже понял(((

    Я в ценах вообще не ориентируюсь, какая расценка примерно может на новый парсер?
     
  4. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Зависит от задачи.
    Распарсировать XML, который отдаёт фид - это 5 минут, если загуглить и копирнуть - меньше минуты.
    Другое дело - что делать дальше с контентом, который мы парсили. Вот за это деньги и берут.