Помогите спарсить всего одно значение
2 повідомлення
#14 років тому
Привет, гуглил, гуглил.. Ну ничего не дало((( Знаний к сожалению в программинге не хватает, в общем пытался спарсить отсюда – meteocenter.net/kis.htm Температура воздуха +12° мне нужно всего лишь сама температура из блока слева "Погода в Кишинёве сейчас" к примеру сейчас она +12° спарсить и вывести у себя на сайте где нибудь... Помогите плизз(( Спасибо огромное заранее!
2 повідомлення
#14 років тому
Неужели никто не знает? (( Мне не обязательно с этого сайта, мне с любого, но что бы температура в городе Кишинёве показывалась... Плизз!
2817 повідомлень
11416 повідомлень
#14 років тому
Так и быть выручу вас. Давайте 10$ сделаю вам...
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 повідомлень
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% что именно такое решение ему и требуется...
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у.е. какраз )