2011-02-03 22 views
6

Bir web sayfasının HTML kaynağındaki tüm Görüntü URL'lerinin listesini almak istiyorum (Hem müstehcen hem de göreli URL'ler). HTML'yi ayrıştırmak için Jsoup'u kullandım, ancak tüm görüntüleri vermiyor. Mesela ben onun gösteren google.com HTML kaynağını ayrıştırma am zaman sıfır images..In google.com HTML kaynak görüntü bağlantıları görüntüler bağlantılar şeklinde Tüm Görüntüleri HTML'den Ayıkla JAVA Kullanma

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

Ve rediff.com içinde

vardır .. şeklindedir ..

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)");

tüm resimler "img" tags..I da yukarıdaki HTML kaynağı gösterildiği gibi "img" etiketleri bile olmayan görüntüleri ayıklamak istediğiniz yer ile değil.

Ben Teşekkür

+0

Neden Java? Bir tarayıcı eklentisi geliştirmeyi düşündünüz mü? – fglez

+0

Veya herhangi bir görüntüyü kaydeden bir proxy uygulayın? –

cevap

1

.. Bana bu konuda yardım edin? .. Bu nasıl yapabilirim Bu biraz zor olacak sanırım. Temel olarak bir web sayfası indirecek, sayfanın DOM'sını oluşturacak ve DOM'ı değiştirebilecek herhangi bir javascript çalıştıracak bir kütüphaneye ihtiyacınız var. Tüm bunlar bittikten sonra DOM'den tüm olası görüntüleri çıkarmanız gerekir. Başka bir olası seçenek, kaynakları indirmek, URL'yi incelemek ve URL'nin bu URL'deki bir görüntü kaydı olması durumunda tüm çağrıları kütüphaneye göre engellemektir.

Benim önerim, HtmlUnit (http://htmlunit.sourceforge.net/gettingStarted.html.) Ile oynayarak başlamak olacaktır. Bu, DOM oluşturma konusunda iyi bir iş yapar. Kaynakları indiren yöntemleri engellemek için ne tür kancalara sahip olduğundan emin değilim. Elbette size kancalar sağlamazsa, daima AspectJ'i kullanabilir veya sadece HtmlUnit kaynak kodunu değiştirebilirsiniz. İyi şanslar, bu oldukça ilginç bir sorun gibi geliyor. Çözünürken, çözümünüzü göndermelisiniz.

0

Sayfada atıfta bulunulan her görüntüyü istiyorsanız, HTML ve herhangi bir bağlantılı javascript'i veya CSS'yi basit bir ifadeyle tarayamıyor musunuz? Bir resim olmayan HTML/JS/CSS’de [-:_./%a-zA-Z0-9]*(.jpg|.png|.gif)’u alabilmeniz ne kadar muhtemeldir? Büyük olasılıkla tahmin etmem. Ve yine de kırık linklere izin vermelisin.

Karthik'in önerisi daha doğru olurdu, ama kesinlikle her şeyi elde etmenizi ve ilgisiz görüntüleri filtrelemenizin daha önemli olduğunu hayal ediyorum.

İlgili konular