Ищу скрипт погоды. Парсер.

123
Оксиген
На сайте с 30.07.2006
Offline
444
#11

Есть рабочие варианты. Не бесплатно (за подробностями в личку). Но, надо учитывать, что "доноры" часто меняют формат выдачи и поэтому через какое-то время скрипт может перестать работать. И никто не скажет, через неделю или через год им взбредёт это в голову. По опыту каждые 1-2 года это происходит.

Магазин готовых сайтов (https://www.bdb.ru/shop/) Продление доменов в RU-CENTER по партнерским тарифам.
WX
На сайте с 23.12.2008
Offline
103
#12

У меня очень много лет работал парсер гисметео... Пока они не поменяли дизайн сайта.

А в последние время использовался парсер Яндекса, который тут дали на серче...

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

Я из Томска (http://tomck.com).
[Удален]
#13

без проблем пашет бесплатный скрипт определяющий по SypexGeo местоположение визитера и выводящий погоду с WorldWeatherOnline сугубо для его локации. Демка и код masterpro.ws/pogoda-po-ip-i-rest-api-sypex-geo

WX
На сайте с 23.12.2008
Offline
103
#14

Я видел этот скрипт. Там на сайте написано

Увидеть код полностью, как и всегда, возможно на форуме.

Зашел на форум. Скопировал код. Проверил, не работает.

---------- Добавлено 03.09.2016 в 13:20 ----------

Друзья, а может кто починить мой скрипт?

Вот сам скрипт

index.php


<?php require_once 'weather.php' ;

$w_city_id =29430;
// Идентификатор города (в нашем случае Москва) - можно узнать по адресу http://weather.yandex.ru/static/cities.xml

$col = 1 ;
// количество дней, на сколько нужен прогноз


$time_of_day = array(
0 => '<img src=http://tomck.com/weather/img/ytro.jpg>',
1 => '<img src=http://tomck.com/weather/img/den.jpg>',
2 => '<img src=http://tomck.com/weather/img/ve4er.jpg>',
3 => '<img src=http://tomck.com/weather/img/no4.jpg>'
); // Массив времени суток (для вывода)



$out = get_weather($w_city_id, $col, $day_of_the_week_array, $time_of_day) ;
/*
заполняем масив при помощи функции, первый параметр обязательный - индентификатор города
другие параметры необязательны - в этом случае используется значения по умолчанию
*/
?>





<?php foreach ($out as $key => $value) { ?> <div class="day-column">


<strong><?php echo $value['day']; ?>.<?php echo $value['month']; ?>.<?php echo $value['year']; ?> </strong>
<br />
<?php foreach ($value['weather'] as $key1 => $value1) { ?>
<?php echo $value1['time_of_day']; ?>
<img src="http://yandex.st/weather/1.1.78/i/icons/48x48/<?php echo $value1['image']; ?>.png" width="48" height="48" />
<?php echo $value1['temp_from'] ; ?> ... <?php echo $value1['temp_to'] ; ?>
<br /><br />

<?php } ?>
<br /><br />

</div><?php } ?>

Вот код файла weather.php




<?php

function get_weather ($city, $col = 10, $day_of_the_week_array = array(1 => 'пн', 2 => 'вт', 3 => 'ср', 4 => 'чт', 5 => 'пт', 6 => 'сб', 7 => 'вс'), $time_of_day = array(0 => 'утро', 1 => 'день', 2 => 'вечер', 3 => 'ночь')) {
$data_file = 'http://export.yandex.ru/weather-ng/forecasts/'.$city.'.xml'; // Загружаем файл прогноза погоды для выбранного города
$xml = simplexml_load_file($data_file); // загружаем xml файл через simple_xml




$out = array(); // Массив вывода прогноза
$counter = 0 ; // Счетчик количества дней, для которых доступен прогноз


foreach ( $xml->day as $day ) {

if ($counter == $col) {break;}

$get_date = explode ("-" , $day['date']) ;
$day_of_week = date("N", mktime(0, 0, 0, $get_date[1], $get_date[2], $get_date[0])) ;

$out[$counter]['day'] = $get_date[2] ;
$out[$counter]['month'] = $get_date[1] ;
$out[$counter]['year'] = $get_date[0] ;
$out[$counter]['day_of_week'] = $day_of_the_week_array[$day_of_week] ;


for ($i=0;$i<=3;$i++) {



if($day->day_part[$i]->temperature == '') {

$get_temp_from = $day->day_part[$i]->temperature_from;
$get_temp_to = $day->day_part[$i]->temperature_to;

} else {

$get_temp_from = (integer)$get_temp-1 ;
$get_temp_to = (integer)$get_temp+1 ;

}

if($get_temp_from>0 ) {$get_temp_from = '+'.$get_temp_from ; }
if($get_temp_to>0 ) {$get_temp_to = '+'.$get_temp_to ; }
$out[$counter]['weather'][$i]['temp_from'] = $get_temp_from;
$out[$counter]['weather'][$i]['temp_to'] = $get_temp_to;
$out[$counter]['weather'][$i]['image'] = $day->day_part[$i]->{'image-v3'};
$out[$counter]['weather'][$i]['time_of_day'] = $time_of_day[$i] ;


} $counter++ ;
}


return $out ;

}?>

По поводу переноса данных размещенных xml я нашел инфу вот тут - https://toster.ru/q/319075

Может кто совместит данные знания и сделать скрипт работоспособным?

[Удален]
#15
www.XOST.biz:
Зашел на форум. Скопировал код. Проверил, не работает.
Друзья, а может кто починить мой скрипт?

Вот сам скрипт

Видите ли, две тезы "код не работает" и "скопипастил, вставил, у меня не получается" не вполне тождественны. По ссылке выше приведены два погодных скрипта, определяющих геотаргетинг посетителя и выводящие актуальное именно для его локации состояние погоды; один использует weather station WorldWeatherOnline, второй - Weather Underground. Там же несколько демок, в качестве иллюстрации, все это работает. Подробно расписано, как использовать Rest API SypexGeo или, при желании, локальные файлы БД, как получить API KEY на первой погодной станции или второй, что и где бесплатно, а что является триалом... и что, все это у вас не работает, уважаемый аспирант? Да, но у нас-то пашет; более того, любой школьник, увлекающийся php, подтвердит вам, что скрипты рабочие.

Насчет починки второго скрипта; есть в коллекции и такой, но использовать его я не рекомендую. Сотрудники Яндекса не раз говорили, что попытки получить у них на сервисе погоду в обход документированных способов стабильно работать не будут. Попробуйте, если хотите, но не советую.

P.S. Демка и код скрипта, вытаскивающего через API погоду c Weather Underground, до кучи. Даже сними с рандомных вебкамер тянет, для геолокации посетителя вашего вебсайта, в чем несложно убедиться, взглянув на демку. Причем доступ к API у американцев бесплатен, хотя некоторые лимиты для бесплатного аккаунта все же существуют. Не ленитесь только комментарии прочесть, все ведь подробно расписано и разжевано.

[Удален]
#16

На сайте masterpro.ws больные админы. Я тоже пытался воспользоваться тем кодом,что они пиарят в их темах и он везде на раздаче в гугле-

но он конечно не рабочий оказался.На мой к ним вопрос в чём проблема,ведь я всё делаю,как у них написано,они сказали это проблемы с хостингом.Ну у меня на хостинге над ними посмеялись.

Тогда я скопировал полностью код их страницы ,где был скрипт и установил себе.

Эти не знаю как их назвать тела,это увидели и вместо того,что бы порадоваться,что у меня всё же их скрипт мудрёный заработал,они перезалили его на другую страницу и меня забанили,а в теме просто нахамили мне,уже после того как меня заблокировали.Такие они эти странные админы с ещё более странного чёрнобенлого сайта с доменом ws

Зайдите ко мне на сайт,он в подписи,у меня стоит скрипт погоды от гугл.

impossible
На сайте с 12.01.2008
Online
210
#17

Для тех кто в танке, Гисметео не прикрыл XML, просто убрал страницу, где все это было описано. Грубо говоря, те кто знает коды городов и старые урлы, до сих пор парсят погодку. Только Тс....

А так полно сервисов, которые отдают погоду в xml и бесплатно, конечно данные урезаны, но для среднестатичного сайтика вполне хватает.

[Удален]
#18
Lev Shliman:
На сайте masterpro.ws больные админы... они сказали это проблемы с хостингом....тогда я скопировал полностью код их страницы ,где был скрипт и установил себе.

На сайте masterpro.ws больные посетители; нечасто такое, но бывает. Когда они пытаются хамить другим посетителям, что-то вроде "я в горячих точках кровь проливал, в то время как ты блаблабла в университетах своих обучался", они бывают забанены, всего-то и делов. Что поделаешь, не любитель я интернет-бойцов невидимого фронта, "тяжко раненых при операции"; практика и опыт показывают, что в реале такие бойцы значительно менее воинственны, нежели в инете.

Теперь по делу; я сказал, что проблемы у вас с руками, а не с хостингом, это две большие разницы, как говорят в Одессе. И вторая натяжка: "скопировать код полностью с их страницы где был скрипт" технически невозможно, т.к. код написан на php. Поинтересуйтесь где-нибудь на досуге, знающие люди вам этот момент растолкуют: понимаете, вы несете бред. Скопипастить код данного php-скрипта возможно только с форума, где он спецом для этого выложен и подробно прокомментирован, и никак иначе. Вы попытались использовать чужой HTML в iframe, вам ни слова по этому поводу не сказали, но пресекли эту возможность.

Повторяю: код полностью открыт и совершенно свободен, вы вправе использовать его как угодно, хотя бы и продавать себе на бедность, как уже попробовали. На здоровье. Во всяком случае, если TOS web-ресурса, на котором вы пытаетесь толкать свободный скрипт, позволяет вам такого рода продажи. Если возникают проблемы - ничего страшного; все через это прошли, у всех бывает поначалу. Наймите какого-нибудь школьника, разбирающегося в азах php, он в*ерачит вам на сайт этот код за две минуты, код-то простенький как два пальца, это скорее просто виджет для сайта.. Ни я, ни мои коллеги, как правило, не занимаемся установкой скриптов на веб-сайты посетителей, собственный web-ресурс для нас что-то вроде визитки, интернет-портфолио. Подумайте сами, какой резон публиковать для посетителей один код, а в скриптах сайта использовать другой; любой ведь прогер, самый начинающий, прихватит на туфте. Если внимательно полистаете форум, увидите, что нередки просьбы прокомментировать или подсаппортить от европейцев и американцев; когда время есть, помогаем, никому не отказываем. БОлее того - данный код оформлен и в виде модуля Joomla, вы можете увидеть его в международном каталоге расширений JED, по ссылке. Там тоже дурачат, я правильно вас понял?

Забейте чушь нести, времени жалко. Коли решитесь оставить для других случаев понты и порожняк, я готов разбанить вас на форуме и подробно, буквально по шагам, по строчкам и по буквам объяснить, что и куда тыркать; ручаюсь, все у вас заработает. Решайте, два раза предлагать не буду.

[Удален]
#19

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

[Удален]
#20
Lev Shliman:
Так как я не первый ,у кого ваш нерабочий скрипт не работает,поэтому думаю бессмысленно вам оправдываться...

а я не оправдываюсь.

Я просто обвинил вас во лжи; и предложил реальный эксперимент в качестве обоснования своих слов. Вы отказались, и данный факт говорит сам за себя... передумаете, дайте знать. Вам предложили бесплатно сделать работу, которая обычно стоит денег, так что зря вы это. Приобрели бы опыт хотя бы начал работы с php-скриптами, это уже очень неплохо для веб-админа. А дальше, глядишь... всякое бывает. Кстати, у меня немало примеров перед глазами: умение в нужный момент отбросить пустое самолюбие и принять помощь - весьма нередко является одной их характерных черт характера наших ребят, побывавших... не в Украине, говоря вашими словами. Увы, Сережа Дьяконов, близкий друг юношеских моих лет, не вернулся год назад оттуда, потому меня и взбесили ваши бредни на моем форуме.

123

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