Форум OlegON > Компьютеры и Программное обеспечение > Сеть > Создание сайтов и поисковая оптимизация (SEO)

парсер погоды на сайт : Создание сайтов и поисковая оптимизация (SEO)

19.04.2024 21:15


09.11.2016 07:32
aldemko
 
Доброго времени суток. разыскивается парсер погоды например с гисметео
В сети находил пару старых вариантов - не работают
Может у кого нибудь есть подобное решение ?
Хотелось бы на свой сайтик отдельную страницу с погодой на 7 дней например
09.11.2016 07:34
OlegON
 
Я разбираю вот это:
Напиши свой, что чужие-то брать...
09.11.2016 07:45
aldemko
 
Может есть что то почитать простое и понятное с примерами - я про парсинг из XML
там может и получилось бы что то простенькое а там гляди и погоду научился бы

Просто почитал там разные виды парсинга то simplexml то еще какие то

Сейчас это читаю
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 21 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.
09.11.2016 08:47
EugeneT
 
Региструешься на weatherunderground.com, получаешь токен
потом:
Цитата:
curl http://api.wunderground.com/api/<токен>/conditions/q/RU/<город>.json > filename.json
это дело в крон, раз в 15 минут например, тк есть ограничения по частоте опроса.

получаешь файлик с текущей погодой вида:
Цитата:
{
"response": {
"version":"0.1",
"termsofService":"http://www.wunderground.com/weather/api/d/terms.html",
"features": {
"conditions": 1
}
}
, "current_observation": {
"image": {
"url":"http://icons.wxug.com/graphics/wu2/logo_130x80.png",
"title":"Weather Underground",
"link":"http://www.wunderground.com"
},
"display_location": {
"full":"Magnitogorsk, Russia",
"city":"Magnitogorsk",
"state":"",
"state_name":"Russia",
"country":"RS",
"country_iso3166":"RU",
"zip":"00000",
"magic":"1",
"wmo":"WUSCM",
"latitude":"53.34999847",
"longitude":"59.08000183",
"elevation":"381.9"
},
"observation_location": {
"full":"Magnitogorsk, ",
"city":"Magnitogorsk",
"state":"",
"country":"RS",
"country_iso3166":"RU",
"latitude":"53.39310074",
"longitude":"58.75569916",
"elevation":"1430 ft"
},
"estimated": {
},
"station_id":"USCM",
"observation_time":"Last Updated on November 9, 10:00 AM +05",
"observation_time_rfc822":"Wed, 09 Nov 2016 10:00:00 +0500",
"observation_epoch":"1478667600",
"local_time_rfc822":"Wed, 09 Nov 2016 10:27:09 +0500",
"local_epoch":"1478669229",
"local_tz_short":"+05",
"local_tz_long":"Asia/Yekaterinburg",
"local_tz_offset":"+0500",
"weather":"Mostly Cloudy",
"temperature_string":"39 F (4 C)",
"temp_f":39,
"temp_c":4,
"relative_humidity":"81%",
"wind_string":"From the West at 16 MPH",
"wind_dir":"West",
"wind_degrees":270,
"wind_mph":16,
"wind_gust_mph":0,
"wind_kph":25,
"wind_gust_kph":0,
"pressure_mb":"1015",
"pressure_in":"29.98",
"pressure_trend":"0",
"dewpoint_string":"34 F (1 C)",
"dewpoint_f":34,
"dewpoint_c":1,
"heat_index_string":"NA",
"heat_index_f":"NA",
"heat_index_c":"NA",
"windchill_string":"31 F (-1 C)",
"windchill_f":"31",
"windchill_c":"-1",
"feelslike_string":"31 F (-1 C)",
"feelslike_f":"31",
"feelslike_c":"-1",
"visibility_mi":"6.2",
"visibility_km":"10.0",
"solarradiation":"--",
"UV":"0","precip_1hr_string":"-9999.00 in (-9999.00 mm)",
"precip_1hr_in":"-9999.00",
"precip_1hr_metric":"--",
"precip_today_string":"0.00 in (0.0 mm)",
"precip_today_in":"0.00",
"precip_today_metric":"0.0",
"icon":"mostlycloudy",
"icon_url":"http://icons.wxug.com/i/c/k/mostlycloudy.gif",
"forecast_url":"http://www.wunderground.com/global/stations/WUSCM.html",
"history_url":"http://www.wunderground.com/history/airport/USCM/2016/11/9/DailyHistory.html",
"ob_url":"http://www.wunderground.com/cgi-bin/findweather/getForecast?query=53.39310074,58.75569916",
"nowcast":""
}
}
Ну а дальше файлик парсим уже на страничке джаваскриптом.
Мне нужны были текущие показания, думаю прогноз выдергивается аналогично
09.11.2016 10:56
aldemko
 
через javascript мне кажется мне сложнее будет - читал мануалы пока не понял ничего
Хотя сам файлик получается в принципе легко, а преобразовать все в html
мне бы для примерчика 1 строку в html вывести а я бы пробовал дальше разобраться (если есть такая возможность)
09.11.2016 12:13
EugeneT
 
Цитата:

function GetWeather(city) {
return $.getJSON( "w/"+city+".json"), function( data ) {
var d = new Date(data.current_observation.local_epoch*1000)
var dOptions = {
year: 'numeric',
month: 'long',
day: 'numeric',
hour: 'numeric',
minute: 'numeric',
second: 'numeric'
};
console.log(d.toLocaleString("ru", dOptions))
console.log(data.current_observation.temp_c)
return {
'date': d.toLocaleString("ru", dOptions),
'temp': data.current_observation.temp_c
}
});
}
функция принимает аргумент город, отдает ассоциативный массив с датой и температурой. Для дат еще нужна библиотека moment.js ну и jquery
В общем-то все это можно на чистом js сделать, но у меня не было задачи трафик экономить, да и в программировании я тоже чайник.
ну а затолкать полученный результат в DOM уже не проблема.
10.11.2016 02:30
aldemko
 
Для меня это и правда сложновато, но благодаря данному примеру я смогу попробовать разобрать свой вариант и выбрать нужные мне данные.
Просто в примерах которые я находил там немного по другому - не понятно просто что тут за что отвечает
Еще раз спасибо буду изучать
11.11.2016 03:57
aldemko
 
Переношу курс валюты на сегодня с шапки в строку меню.
разумно ли это будет ?
По рекомендации Олега пытаюсь высвободить шапку - только что туда запихну ?
в общем о курсе валют - с шапки пока не убрал но в меню добавил
Так же немного изменил логотип - добавил название города
Так же на основе лого сделал favicon - просто другого в голову не пришло - а те что в сети мне не подходят
Соц сети - блок по прежнему пока не работает, я еще не создавал группы в соц сети
Новости некоторые уже добавил
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 21 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.


так же подключил CDN не знаю есть ли толк
по факту картинки и у меня хранятся, но клиенту выдаются с
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 21 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.


точно так же и css
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 21 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.


Или отключить эту функцию ?
так же в htaccess добавил
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 21 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.

Я просто не хочу что бы у меня сайт с www был
Верно ли прописано
11.11.2016 07:12
OlegON
 
Про schema.org почитай. Тонкая колонка новостей выглядит стремновато на широком экране.
От линкпрофита битая картинка осталась. Новости пустые, т.е. только заголовок. Апач тупой страшно.
Ты лучше сделай все, а потом будешь спрашивать. CDN не знаю, нужен ли... Не та толпа народа и геораспределение...
Часовой пояс GMT +3, время: 21:15.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.