Персер пргоды

Тема в разделе "PHP", создана пользователем MaximMax, 12 мар 2011.

Модераторы: latteo
  1. MaximMax

    MaximMax

    Регистр.:
    14 май 2009
    Сообщения:
    595
    Симпатии:
    76
    Подскажите как написать персер погоды желательно что бы он по IP показывал всеравно с какова сайта.
     
  2. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    понятия не имею как такое делается ...
    но гуглем пользоваться походу умею на порядок лучше


    https://www.nulled.cc/showthread.php?t=195201
    http://n0ns3ns3.livejournal.com/366742.html
    http://ogaboga.ru/blog/xml-i-rss-parsery-na-primere-parsera-pogody
    http://www.rus-phpfusion.com/forum/viewthread.php?forum_id=9&thread_id=2158
    http://vladwebstudio.ru/en/node/133
    http://www.zerofull.ru/blog/index.php?entryid=4



    и вот кстать подобный скрипт на фрилансе стоит 30 баксов ;)
    http://www.free-lance.ru/projects/?pid=318298


    ну а то чтоб он по IP определял страну/город - так это гео IP
    в гуголь введите "php geoip" оч много интересных примеров будет

    ну а слепить из 2 скриптов 1, а точнее даже результат работы 1 передать во 2 думаю не составит труда
     
    MaximMax нравится это.
  3. DenisK

    DenisK

    Регистр.:
    8 фев 2007
    Сообщения:
    205
    Симпатии:
    13
    я в свое время писал парсер. Сейчас есть много серверов погоды у которых блок можно доработать напильником и не надо возиться с парсингом.

    Суть парсинга - вам нужно написать ряд регулярных выражений, которые будут убирать все лишнее, оставляя необходимые данные.

    Загружаете содержимое url в переменную а дальше работа с ф-ией ereg.

    Оттестили ф-ию - можно поставить ее в cron.

    Но если на сайте-доноре изменится формат выдачи, то регулярные выражения прийдется переписывать.
     
  4. Xata6

    Xata6 Постоялец

    Регистр.:
    20 мар 2007
    Сообщения:
    84
    Симпатии:
    5
    чуть знаний php + gismeteo.ru и да будет тебе счастье, от 1 дня до 2х недель погода на любой доступный там город, забирать можно даже кусок html с данными и их версткой для блоков показа погоды, а геоип если ты собираешься на сайт парсить инфу, будет занимать нное время и место, ограничивайся списком городов\областей, все подряд анриал будет ^_^
     
  5. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    Пи-и-и-п, не правильный совет. Функция ereg() марально устарела, как говориться деприкатед ни кто не отменял:)

    Для народа:
    Народ человек нужен не теоретические советы, а практические, с примерами.

    Для ТС:
    MaximMax - Формулируйю точнее задачу, а то тебе сайчас насоветую, вон видишь что твориться уже ereg() в ход пошол :D


    Что касаемо темы:
    Буквально вот разрабатывал парсер погоды с гизметео, обращаешься обычной file_get_contens() функцией к необходимой странице, распарсиваешь полученную информацию функцией preg_match() или preg_match_all() в зависимости от желаемого результата.

    Что могу сказать по поводу получения погоды. Не так уж сложно получить погоду (чистые значения), на много сложнее в дальнейшем осуществить структуру хранения и вывода этих данных. Ну это относиться только если данные хранятся в чистом виде, если вы парсите блок и потом этот же блок выводите у себя на сайте, без изменения дизайна и структуры отображения. То при этом варианте проблем вообще возникнуть не должно ни каких.
     
    MaximMax нравится это.
  6. DenisK

    DenisK

    Регистр.:
    8 фев 2007
    Сообщения:
    205
    Симпатии:
    13
    можно поподробнее?
     
  7. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
  8. Sokol777

    Sokol777 Постоялец

    Регистр.:
    10 янв 2008
    Сообщения:
    57
    Симпатии:
    6
    Персер пргоды:
    PHP:
    $k=0;
    $pogoda="";
    $handle fopen ("http://rp5.ru/town.php?id=267""r");
    while (!
    feof ($handle)) {
       
    $buffer fgets($handle4096);
       if (
    strpos($buffer,"table width=\"750\" height=\"250\" cellpadding=\"0\" cellspacing=\"0\" class=\"border\">")>0):
         
    $k=1;
       endif;

       if (
    $k==1$pogoda.=$buffer;

       if ((
    strpos($buffer,"/table>")>0) && ($k==1)):
         
    $k=2;
       endif;
    }
    fclose ($handle);
    echo 
    $pogoda;
     
  9. iNFiNiTy

    iNFiNiTy Создатель

    Регистр.:
    11 апр 2007
    Сообщения:
    37
    Симпатии:
    1
    вот очень красивый flash прогноз погоды... сам определяет город + показывает на целую неделю.
    http://st.kaktam.in.ua/weathervk.swf