Android+jsoup爬虫图片+列表
前言
"色批"是第一生产力。因为作者新手,其实copy了很多前辈的代码。
代码不规范勿喷。
一、jsoup是什么?
jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据。
二、使用步骤
1.引入库
代码如下(示例):
//jsoup爬虫
implementation 'org.jsoup:jsoup:1.13.1'
//Rxjava+RxAndroid
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
//图片加载库
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
implementation 'com.squareup.okhttp3:okhttp:3.11.0'
2.jsoup
假设HTML的代码如下(示例):
<img src="..." id="aa" class"aa"></img>
我们可以用jsoup的getElementById(“aa”)
,getElementsByClass(“aa”),select(“img”)来获取
3.代码
UrlUtil
public class UrlUtil {
public String uri;
public UrlUtil(String uri) {
this.uri = uri;
}
public String getUri() {
return uri;
}
public void setUri(String uri) {
this.uri = uri;
}
@Override
public String toString() {
return '"'+uri+'"' ;
}
}
GetData
public class GetData {
private static final String TAG ="GetData" ;
public static ArrayList<UrlUtil> spiderArticle(String html){
ArrayList<UrlUtil> urlUtils = new ArrayList<>();
Document document = Jsoup.parse(html);
Elements elements = document.select("img[src~=(?i)\\.(png|jpe?g)]");
Log.i(TAG, "spiderArticle: elements " +elements.html())