2011-02-03 3 views
6

Я хочу получить список всех URL-адресов изображений из HTML-источника веб-страницы (как abosulte, так и относительных URL-адресов). Я использовал Jsoup для синтаксического анализа HTML, но не предоставлял ему все изображения. Например, когда я разбор google.com HTML источник его, показывая нулевой images..In google.com HTML исходных ссылок на изображения в виде ..Извлечь все изображения из HTML Использование JAVA

"background:url(/intl/en_com/images/srpr/logo1w.png)

И rediff.com образами ссылки в виде ..

videoArr[j]=new Array("http://ishare.rediff.com/video/entertainment/bappi-da-the-first-indian-in-grammy-jury/2684982","http://datastore.rediff.com/h86-w116/thumb/5E5669666658606D6A6B6272/v3np2zgbla4vdccf.D.0.bappi.jpg","Bappi Da - the first Indian In Grammy jury","http://mypage.rediff.com/profile/getprofile/LehrenTV/12669275","LehrenTV","(2:33)"); j = 1 videoArr[j]=new Array("http://ishare.rediff.com/video/entertainment/bebo-shahid-jab-they-met-again-/2681664","http://datastore.rediff.com/h86-w116/thumb/5E5669666658606D6A6B6272/ra8p9eeig8zy5qvd.D.0.They-Met-Again.jpg","Bebo-Shahid : Jab they met again!","http://mypage.rediff.com/profile/getprofile/LehrenTV/12669275","LehrenTV","(2:17)");

Все изображения не с в «IMG» tags..I также хочет извлекать изображения, которые не являются даже в тегах «IMG», как показано в выше источнике HTML.

Как я могу это сделать? .. Пожалуйста, помогите мне в этом .. Спасибо

+0

Почему Java? Думали ли вы при разработке плагина для браузера? – fglez

+0

Или реализовать прокси-сервер, который сохраняет любые изображения? –

ответ

1

Это будет немного трудно, я думаю. Вам в основном нужна библиотека, которая загрузит веб-страницу, построит DOM страницы и выполнит любой javascript, который может изменить DOM. После всего этого вы должны извлечь все возможные изображения из DOM. Другой возможный вариант - перехватить все вызовы библиотекой для загрузки ресурсов, изучить URL-адрес и указать URL-адрес этого изображения.

Мое предложение было бы начать с игры с HtmlUnit (http://htmlunit.sourceforge.net/gettingStarted.html.) Это хорошая работа по созданию DOM. Я не уверен, какие типы крючков у него есть, для перехвата методов, которые загружают ресурсы. Конечно, если он не предоставляет вам крючки, вы всегда можете использовать AspectJ или просто изменить исходный код HtmlUnit. Удачи, это звучит как довольно интересная проблема. Вы должны опубликовать свое решение, когда выяснишь это.

0

Если вы просто хотите, чтобы все изображения, упомянутые на странице, не могли бы вы просто сканировать HTML и любой связанный javascript или CSS с простым регулярным выражением? Насколько вероятно, вы получите [-:_./%a-zA-Z0-9]*(.jpg|.png|.gif) в HTML/JS/CSS, это не изображение? Я думаю, не очень вероятно. И в любом случае вы должны допускать неработающие ссылки.

Предложение Karthik было бы более правильным, но я считаю, что для вас более важно получить абсолютно все и отфильтровывать неинтересные изображения.

Смежные вопросы