В веб-контексте есть два значения souce:
Источник HTML: Если вы запрашиваете веб-страницу по URL, вы всегда получаете исходный код HTML. На самом деле, ничего другого, что вы могли бы получить по URL. Веб-страницы всегда передаются в исходном виде, такого понятия как скомпилированная веб-страница не существует. И для того, что вы пытаетесь, этого должно быть достаточно для выполнения вашей задачи.
Источник сценария: Если веб-страница генерируется динамически, то она кодируется на некотором языке сценариев на стороне сервера (например, PHP, Ruby, JSP ...). Там также существует исходный код на этом уровне. Но используя HTTP-соединение, вы не можете получить этот вид исходного кода. Это не отсутствующая функция , но полностью по назначению.
Синтаксический анализ: Сказав это, вам нужно как-то разобрать HTML-код. Если вам просто нужны ссылки, использование RegEx (как показал Оскар Рейес) будет наиболее практичным подходом, но вы также можете написать простой парсер "вручную". Было бы медленно, больше кода ... но работает.
Если вы хотите расширить доступ к коду на более логичном уровне, лучше всего разобрать его в DOM. Если код допустимый XHTML , вы можете просто проанализировать его в org.w3c.dom.Document и сделать с ним что-нибудь. Если это хотя бы допустимый HTML , вы можете применить некоторые приемы для его преобразования в XHTML (в некоторых редких случаях достаточно заменить
на
и изменить тип документа) и использовать его в качестве XML .
Если это недопустимый XML, вам понадобится анализатор HTML DOM. Я понятия не имею, существует ли такая вещь для Java и работает ли она хорошо.