2011-02-03 4 views
6

웹 페이지의 HTML 소스 (abosulte 및 relative URL)에서 모든 이미지 URL 목록을 가져오고 싶습니다. Jsoup를 사용하여 HTML을 파싱했지만 모든 이미지를 제공하지 않았습니다. 예를 들어 나는 그것 보여주는 google.com HTML 소스를 분석하고 때 제로 images..In google.com HTML 소스 이미지 링크가 이미지 링크 형태로 JAVA를 사용하여 HTML에서 모든 이미지 추출

"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 또한 위의 HTML 소스에서와 같이 "IMG"태그도하지 있습니다 이미지를 추출 할에 함께하지 않습니다.

내가 감사

+0

왜 자바인가? 브라우저 플러그인을 개발할 생각이 있으신가요? – fglez

+0

또는 이미지를 저장하는 프록시를 구현 하시겠습니까? –

답변

1

.. 날이에 도와주세요? ..이 어떻게 할 수있는이 조금 어려울 것입니다, 나는 생각한다. 기본적으로 웹 페이지를 다운로드하고 페이지의 DOM을 구성하며 DOM을 변경할 수있는 자바 스크립트를 실행하는 라이브러리가 필요합니다. 모든 작업이 끝나면 DOM에서 가능한 모든 이미지를 추출해야합니다. 또 다른 가능한 옵션은 리소스를 다운로드하고 URL을 검사하며 URL이 이미지 레코드 인 경우 라이브러리에 의한 모든 호출을 차단하는 것입니다.

내 제안은 HtmlUnit (http://htmlunit.sourceforge.net/gettingStarted.html.)으로 시작하는 것이 좋습니다. DOM을 작성하는 것은 좋은 일입니다. 리소스를 다운로드하는 메서드를 가로 채기 위해 어떤 유형의 후크가 있는지 잘 모르겠습니다. 물론 그것이 후크를 제공하지 않는다면 항상 AspectJ를 사용하거나 단순히 HtmlUnit 소스 코드를 수정할 수 있습니다. 행운을 빌어, 합리적으로 흥미로운 문제처럼 들립니다. 알아 내면 솔루션을 게시해야합니다.

0

페이지에 언급 된 모든 이미지를 원한다면 간단한 정규 표현식으로 HTML과 링크 된 JavaScript 또는 CSS를 스캔 할 수 없습니까? 이미지가 아닌 HTML/JS/CSS에서 [-:_./%a-zA-Z0-9]*(.jpg|.png|.gif)을 얻을 가능성은 어느 정도입니까? 나는 그렇지 않을 것 같아요. 그리고 어쨌든 깨진 링크를 허용해야합니다.

Karthik의 제안이 더 정확할 것이지만, 나는 모든 것을 얻고 관심없는 이미지를 걸러내는 것이 더 중요하다고 상상합니다.

관련 문제