Интересный вопрос, с большим количеством потенциальных ответов.
Я выберу ответ, описав, как я буду пытаться решить проблему.Теперь, поскольку вы будете работать с Craigslist, веб-сервисом, первое, что я сделаю, это выясню, какой у него API.В поисках Google по "craigslist api" первые несколько страниц обращают внимание на то, что Craigslist API фактически не существует.Это разочаровывает и немного удивляет для веб-службы в наши дни и означает, что вам, вероятно, придется испачкать руки и почистить настоящий HTML-код.Это не совсем то, что я бы делал в Java, хотя я признаю, что это может быть отчасти потому, что я не знаю API Java HTTP.Поэтому я просто предоставлю план того, что могла бы сделать программа:
- Входные данные для программы - это условия поиска, и их нужно вводить только один раз в начале.Для этого используются аргументы командной строки, поэтому каждый аргумент может быть поисковым термином.Что значит предоставить несколько поисковых терминов?Вероятно, либо то, что они все должны совпадать, либо то, что хотя бы одно должно совпадать.Вы решаете.
- Интересная часть программы состоит из основного цикла, который повторяет следующее:
- Получите нужную вам страницу результатов поиска Craigslist.@Danny предложил вам взглянуть на Apache HttpClient, и это звучит хорошо для меня.
- Извлеките необходимую информацию из HTML.(Это сложная часть, и я оставлю ее в качестве упражнения - не стесняйтесь начинать новый вопрос, если вам нужна помощь в этом.)
- Хм, здесь вам нужно знать, какие результаты являются новыми икоторый вы уже видели.Поскольку эта информация должна сохраняться, даже если вы перезапустите программу, вы, вероятно, захотите сохранить ее в файле.В этом случае вы бы открыли файл здесь, и для каждой строки в файле просмотрите все ваши результаты и удалите этот результат, если он найден в файле.Например, файл может содержать один URL на строку.
- Теперь вы попытаетесь отправить результаты по почте.@Danny предложил вам проверить API под названием «JavaMail», поэтому я попробую сначала.(Присоединение миниатюр к электронным письмам будет немного сложнее, поэтому я советую сначала пропустить эту часть.) Если отправка электронного письма не удалась, вы можете просто пропустить сохранение новых результатов в свой файл с помощьюсписок уже просмотренных URL-адресов, чтобы вы могли включить их в следующий раз (попросите вашего парня объяснить для вас try..catch).Если это удастся, просто откройте файл и поместите новые URL в конце.
- Возможно, вы захотите вывести на экран некоторую информацию о том, что вы только что сделали, чтобы вы могли получить некоторую обратную связьо том, что происходит, когда вы используете программу.Затем вы просто поспите некоторое время (скажем, одну минуту), прежде чем вернуться к началу основного цикла и повторить все заново.
Если выНужна помощь с любой из этих частей, начните отдельный вопрос.Если вам нужна помощь с тем, как начать писать программы на Java, поищите в Google учебник для начинающих, и вы должны найти много.Когда вы освоитесь, я предлагаю попробовать IDE, например Eclipse, которая является сложным, но сложным инструментом, который может помочь вам несколькими способами.Однако IDE приходят и уходят, и всегда полезно знать, как программировать на определенном языке, используя только базовые языковые инструменты (в вашем случае программы java и javac).
В любом случае, удачи исчастливого взлома!: -)