Павел Т.
2 повідомлення
#14 років тому
Привет, гуглил, гуглил.. Ну ничего не дало((( Знаний к сожалению в программинге не хватает, в общем пытался спарсить отсюда – meteocenter.net/kis.htm Температура воздуха +12° мне нужно всего лишь сама температура из блока слева "Погода в Кишинёве сейчас" к примеру сейчас она +12° спарсить и вывести у себя на сайте где нибудь... Помогите плизз(( Спасибо огромное заранее!
Павел Т.
2 повідомлення
#14 років тому
Неужели никто не знает? (( Мне не обязательно с этого сайта, мне с любого, но что бы температура в городе Кишинёве показывалась... Плизз!
Кирилл Е.
2817 повідомлень
#14 років тому
Оффтопик
У фрилансеров в воскресенье выходной, а ночью все спят, если день отличным выдаться - выходными будут и понедельник и вторник
Артем Л.
11416 повідомлень
#14 років тому
Так и быть выручу вас. Давайте 10$ сделаю вам...
Роман П.
1599 повідомлень
#14 років тому
Ему на фрилансе один чудик уже помог бесплатно =/
Максим Ф.
3195 повідомлень
#14 років тому
Учи пэхэпэ, студент.

<?php
echo "+" . parseInt(weatherTemp, "meteocenter.net/kis.htm", "Погода в Кишинёве сейчас") . "°";
?>

Раз уж ты в Мск и тебе всего 26, с тебя пиво.
Кирилл Е.
2817 повідомлень
#14 років тому
Ай нид хелп.. надо забить каталог с старой версии сайта на новый, ничего сложного тупо копипаст, примерно 1100 позиций.
Бартер, или как это, услуга за услугу
вы мне забиваете каталог с старого сайта в новый, после чего с меня парсер погоды =).
Максим Ф.
3195 повідомлень
#14 років тому
Эх, помогать, так помогать...

var oldSite = "здесь подставить старый адрес";
var newSite = "здесь подставить новый адрес";
for i=1 to 1100
{ copyFast(position, oldSite, newSite); }
echo "Копирование завершено.";
Юрий Попченко
649 повідомлень
#14 років тому
Цитата ("AlekartRu"):
Эх, помогать, так помогать...

var oldSite = "здесь подставить старый адрес";
var newSite = "здесь подставить новый адрес";
for i=1 to 1100
{ copyFast(position, oldSite, newSite); }
echo "Копирование завершено.";

Спс. Как раз нужно было решить подобную проблему.
Очень помогло.
Артем Л.
11416 повідомлень
#14 років тому
AlekartRu, ой как у вас все просто и интересно. Где учились? Хотел бы взять пару уроков...
Вадим Т.
3240 повідомлень
#14 років тому
Цитата ("Crist"):
Ему на фрилансе один чудик уже помог бесплатно =/

Он ему неправильное решение сделал.
Я там соответствующее сообщение оставил, с замечаниями:
Вадим Т.
3240 повідомлень
#14 років тому
Цитата ("Hungry_Hunter"):
Так и быть выручу вас. Давайте 10$ сделаю вам...

Для начала нужно получить контент. При этом обрабатывая ошибки. И с учетом таймаутов. Так как ресурс может быть недоступен, или может очень медленно отдавать контент, или может отдавать лишь часть контента, и т.д.
В случае одних ошибок нужно повторно запросить контент, в других случаях не делать этого, а сразу сигнализировать о недоступности источника.

Сам парсинг, конечно, примитивен. Но парсить обычно имеет смысл с учетом того, что дизайн/верстка ресурса может быть изменена в будущем, то есть как минимум имеет смысл сигнализировать об невозможности правильно распарсить источник. Возможно, с разовой отправкой сообщения об этом на емейл админу.

Результат парсинга имеет смысл кешировать, так как температура не меняется каждую секунду. В идеале использовать мемкеш, если же мемкеш недоступен — то можно использовать файловый кеш или БД. При этом, разумеется, обрабатывая возможные ошибки обращения к кешу. Но это уже от задачи зависит, возможно, тут приемлемым решением будет периодически с заданным интервалом генерировать статический HTML блок, и сохранять его в файле.
И т.д.

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

Потом свое решение нужно документировать. Как минимум, описать в тестовом файле как оно работает, как это решение интегрировать на сайте заказчика, каково должно быть окружение (какой нужен софт, версии языка и либ, установленные расширения, настройки в .ini файле, и т.д.), также нужно описать какие возможны проблемы (внешний ресурс недоступен, или изменилась верстка, и т.д.), и как на них заказчику/админу реагировать.

Вот так, по хорошему, и делаются такие задания с парсерами. Иначе нет шансов обеспечить более-менее приемлемый уровень качества.

Что, неужели делаете такое за 10$?
Максим Ф.
3195 повідомлень
#14 років тому
tvv, концептуально вы безусловно правы.
Однако, в текущем случае, когда у ТС нет и 10$ на проект, тестирования, кеш и прочее - не нужно, хотя бы просто потому, что сайт самого ТС, если он будет сделан когда-нибудь, долго не проживёт.
Грубо говоря, в данным конкретном случае пойдёт любое примитивное решение, затем, если проект взлетит (что очень и очень маловероятно), можно будет развиваться дальше.
Ещё раз повторюсь, что я полностью согласен с вашим описанием алгоритма решения, но почти всегда сначала нужен рабочий прототип, пусть и отвратительного качества, а затем, в случае успеха, можно думать и о качестве, и о красивой обёртке, и о рекламе и о другом. Любой продукт развивается именно так (если кто-нибудь сможет вспомнить обратный пример - буду рад, мне в голову ничего не приходит).
Вадим Т.
3240 повідомлень
#14 років тому
Цитата ("AlekartRu"):
Грубо говоря, в данным конкретном случае пойдёт любое примитивное решение, затем, если проект взлетит (что очень и очень маловероятно), можно будет развиваться дальше.

Пожалуйста, обратите внимание на задание заказчика.
Ему нужно решение такой-то задачи. Но он нигде не пишет, что его устроит любое примитивное решение, работающее нестабильно (без обработки ошибок) и медленно (без кеша). Он не пишет, что ему нужен прототип решения.

Фрилансер, сразу подписываясь выполнять работу, и называя цену в 10$ не выяснив деталей, может весьма неслабо попасть на деньги, если окажется, что заказчику нужно полноценное грамотное решение с обработкой возможных ошибок.

Далее. Сделав решение на коленке без обработки ошибок, фрилансер потом будет неизбежно задолбан заказчиком вопросами типа "почему написанный Вами парсер иногда не работает???", на которые придется отвечать, разбираться, тратить время на анализ, на общение, и т.д. Если фрилансер готов к этому, то есть таков стиль его работы — без проблем, пусть делает так. Но я бы так не делал.

Далее. Ранее я сам не раз делал такие срочные работки за 5 минут. Потом мой такой вот быстрый 5-минутный код показывали другим программистам, и там действительно было что покритиковать. Мне было безумно стыдно за свой код. С некоторых пор я зарекся делать такие решения, принципиально. Так как такие быстрые некачественные решения могут реально сильно бить по репутации специалиста. Но это уже другая тема, конечно.
Артем Л.
11416 повідомлень
#14 років тому
Цитата ("tvv"):
Фрилансер, сразу подписываясь выполнять работу, и называя цену в 10$ не выяснив деталей, может весьма неслабо попасть на деньги, если окажется, что заказчику нужно полноценное грамотное решение с обработкой возможных ошибок.

В данном случае человек просит бесплатного решения... Что подразумевает в себе самое примитивное решение с минимальными временными затратами на его создание которое будет работать в данной верстке без обработки ошибок. И да, такое я сделаю за 10$

Цитата ("tvv"):
Но он нигде не пишет, что его устроит любое примитивное решение, работающее нестабильно (без обработки ошибок) и медленно (без кеша). Он не пишет, что ему нужен прототип решения.

Он пишет это на форуме а не в разделе проектов, это стоит учитывать.

Но если делать все грамотно и правильно то безусловно стоит учесть все что вы написали.
Вадим Т.
3240 повідомлень
#14 років тому
Цитата ("Hungry_Hunter"):
В данном случае человек просит бесплатного решения... Что подразумевает в себе самое примитивное решение с минимальными временными затратами на его создание которое будет работать в данной верстке без обработки ошибок.

То, что нужно бесплатное решение, вовсе не означает, что приемлемо неправильное решение или решение без обработки ошибок.
Думаю, что не нужно продумывать за заказчика что ему нужно или не нужно, если он явно не написал об этом.

Вот если бы заказчик написал "мне нужно простое примитивное решение, работающее медленно и нестабильно, без обработки ошибок", вот тогда да IMHO, имеет смысл соглашаться на 10$. ))
Артем Л.
11416 повідомлень
#14 років тому
Уверен на 98% что именно такое решение ему и требуется...
Антон С.
1316 повідомлень
#14 років тому
Если не устраивает помощь за 10$ - я готов помочь за 20$)
Кирилл Е.
2817 повідомлень
#14 років тому
Да для ТС подойдёт самое простое решение за 10 баксов:

1. маленький скрипт за 5 минут используя CURL запускать по крону 4 раза в сутки, будет парсить температуру с макс.таймаутом например 5 секунд и писать например в корень в weаther.txt в виде:

+12

или
-12


2. брать погоду с weаther.txt и выводить в нужном месте.. можно вообще оформить не weаther.txt а weather.js и подключать в хереде, он и будет в нужном месте хтмл-документа выводить температуру.

* думаю крон есть у всех платных тарифов на хостинг

обработка ошибок и т.д. и т.п. - вещь нужная, но не сейчас, у тс проблема спарсить погоду.. тоесть ему фактически нужно 10-15 строк кода которые будут парсить, по моему задача предельно точная

А обработки всевозможных ошибок, и т.д. и т.п. - это с разряда: "Нужна программа для калькулятора - придумали для расчёта полёта траектории Луны, а калькулятор так и не работает ".

УПД: да, пожалуй то что нужно ТС делается максимум минут 30-40, и да, 10у.е. какраз )