1
我使用JSoup來抓取頁面。我通常需要在頁面或頁面中獲取所有網址的圖片,然後放入ArrayList<String>
。 Suposed後續文件:如何使用JSoup獲取頁面中的所有url圖像?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>News Page</title>
</head>
<body>
<div class="news">
<div class="new">
<div class="image">
<img src="../images/img01.jpg" />
</div>
<div class="info">
<p class="title">
Grumpy wizards make toxic brew for the evil Queen and Jack.
</p>
</div>
</div>
<div class="new">
<div class="image">
<img src="../images/img02.jpg" />
</div>
<div class="info">
<p class="title">
The quick brown fox jumps over the lazy dog.
</p>
</div>
</div>
<div class="new">
<div class="image">
<img src="../images/img03.jpg" />
</div>
<div class="info">
<p class="title">
Pack my box with five dozen liquor jugs.
</p>
</div>
</div>
</div>
</body>
</html>
我做的是這樣的:
Document document = Jsoup.parse(html);
Elements images = document.select(img);
ArrayList<String> binaryUrls = new ArrayList<String>();
for(Element image : images) {
binaryUrls.add(image.absUrl("src"));
}
而結果:
['http//www.newssite.com/images/img01.jpg', 'http//www.newssite.com/images/img02.jpg', 'http//www.newssite.com/images/img03.jpg']
它的工作原理,但我想知道是否存在一小段路,只需要Jsoup就可以做到。
在生產環境中,我們還使用了Java 6。如果可能的話,我喜歡用lambda來了解Java 6模式和Java 8模式。