JavaRush /Java блог /Архив info.javarush /Вытягиваем статистику из странички "Мои новости"
ArtemShch
34 уровень
Амстердам

Вытягиваем статистику из странички "Мои новости"

Статья из группы Архив info.javarush
Прочитав про "Самую бесполезную программу" захотелось и себе че-нить написать. Читая очередные истории успеха, заметил, что народ задает одни и те же вопросы и из рассказов новоиспеченных программистов не все так ясно, как хотелось бы. Вот я и предпринял попытку написать парсер новостной ленты. Вот что выводит айдия для моих новостей))) Зарегистрировался в JavaRush 2015-09-01 числа За 289 дней было решено 227 задач Первой решил задачу level00,lesson02,task01 с 5 раза! - 2015-09-01 числа Последней решил задачу level27,lesson15,big15 с 8 раза! - 2016-06-16 числа Максимальный уровень решенной задачи - 30 Больше всего ушло нервов на задачу level02,lesson08,task06 с 35 раза! поддалась Самый длительный перерыв между решением задач c 2015-10-15 по 2016-02-11 (119) дней Очень даже информативненько получилось)) (на 4 месяца!!! забил ото дал так дал))) возможно если следующий автор истории успеха, вставит такой отчет в рассказ, история будет более наглядной. Если кому-то не лень: 1. Подскажите как вытащить инфу прям с сайта, мне пришлось копировать таблицу в .txt и с ним дальше работать. 2.Попробовать у себя и отписаться про ошибки или предложения к изменению кода (если айдия несет чушь кидайте в личку свой .txt, допилим родненькую) ссылка на гит Это выглядит так: Копируем новости в файл, в моем случае News.txt 1 Артем 2016-06-18 17:34:51 Артем снова заходит в игру, чтобы немного поразмяться. ..... 10 Артем 2016-06-16 09:45:04 Артем решил задачу level27,lesson15,big15 с 8 раза! ..... //Вот тут вставляем путь к файлу и запускаем public class JustDoIt { public static void main(String[] args) throws IOException, ParseException { Statistic statistic = new Statistic("E:\\IntelliJ\\JavaRushHomeWork\\src\\News.txt"); System.out.println(statistic); } } Пишу в час ночи, извиняйте за орфографию и всякие непотребства)
Комментарии (12)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
ArtemShch Уровень 34
20 июня 2016
Спасибо за коментарии, это была моя первая попытка, что то написать самостоятельно.Попробую переосмыслить код согласно советам. Но все же непонятно как вытаскивать инфу прям с сайта.
AndreGold Уровень 28
20 июня 2016
По коду
1) Нужно давать названия классов осмысленные имена, чтобы было понятно, что делает конкретный класс.Я бы главный класс, который запускает Вашу программу назвал бы Main или Starter, ну или как-то более понятно, что он запускает программу.

2) Нет разделения по пакетам(оно есть, но не так сильно, как хотелось бы), и это плохо. Как бы странно не звучало, но здесь можно пролипить MVC шаблон. Даже если Вы его зделаете неправильно, а с вероятностью % 90-95 оно так и будет, с шаблоном Вы все-таки познакомитесь.

3) Какие цели преследуют классы Statistic и Parser, и есть ли смысл в каком то из них?

4)у Date, около 80% методов Deprecated и он сам по себе Mutable, его лучше не использовать, вместо него лучше использовать java.time API из Java 8.

5) Желательно(это в смысле по желанию, можно, но на первых порах пока рановато) использовать тестирование и библиотеки, JUnit и Mockito. По своему опыту обучения и написания кода знаю, что к плохому коду тесты невозможно написать, если мы конечно не говорим о подгонке тестов под код.
IgorBrest Уровень 33
20 июня 2016
Дарю автору топика одну идею. Суть вот в чем. Думаю, что все согласятся, что самая ценная вещь на джавараш — это задачи. Тут огромное количество задач самых разных уровней и категорий, на всевозможные темы… идея в том, что бы пропарсить все свои решенные задачи. Например повытаскивать условие задач, организовать контекстный поиск, перегруппировать… Например, захотите повторить про Executor, BlockingQueue… в каких задачах они встречались?, а еще задачка была, где метод писали что бы строку из Windows 1251 в UTF-8 перевести?.. ну вы поняли. Для начала это все можно организовать на уровне input-output файловой системы… а вообще, не плохой плагинчик к idea получился бы )))
AndreGold Уровень 28
19 июня 2016
Напишите обычный CRUD — это даст Вам больше, чем всякие програмульки.