爬数据html解析,jsoup网络爬取数据HTML解析
Jsoup是一款網絡爬取數據的解析器,可以解析HTML文件中的任何子節點,支持離線HTML文件、字符型HTML內容、URL的解析。非常方便和實用。
Document doc = Jsoup.connect("https://www.zhihu.com/").get();
//File f = new File("pathname");
//Document doc = Jsoup.parse(f, "UTF-8", "");//離線文件形式
//Document doc = Jsoup.parse("html_String");//HTML格式的字符串
Elements links = doc.select("a[href]");
for (Element link : links) {
sff.append(link.attr("abs:href")).append(" ").append(link.text()).append(" ");
}
myString = sff.toString();
Log.i("href:", myString);
它獲取內容的主要方式如下幾點:
1.通過標簽名來查找
3325
Elements elements = doc.select("span");
注:通過標簽來查找,直接寫 "標簽名" 就好,不需要尖括號。
2.通過??id??來查找
36?20
Elements elements = doc.select("#mySpan");
注:通過id來查找,使用方法跟css指定元素一樣,用#
3.通過??class名??來查找
3620
Elements elements = doc.select(".myClass");
注:通過id來查找,使用方法跟css指定元素一樣,用 .
4.利用標簽內??屬性名??查找元素
3636
Elements elements = doc.select("span[class=class1]span[id=id1]");
注:規則為 標簽名【屬性名=屬性值】,標簽名可寫可不寫,多個屬性即多個【】,如上。
5.利用標簽內??屬性名前綴??查找元素
3622
Elements elements = doc.select("span[^cl]");
注:規則為 標簽名【^屬性名前綴】,標簽名可寫可不寫,多個屬性即多個【】。
6.利用標簽內?屬性名+正則表達式?查找元素
3622
Elements elements = doc.select("span[class~=^AB]");
注:規則為 標簽名【屬性名~=正則表達式】,以上的正則表達式的意思是查找以class值以AB為開頭的標簽,標簽名可寫可不寫,多個屬性即多個【】
7.利用標簽?文本包含某些內容?來查找
3622
Elements elements = doc.select("span:contains(3)");
注:規則為 標簽名:contains(文本值)
8.利用標簽?文本包含某些內容+正則表達式?來查找
3622
Elements elements = doc.select("span:matchesOwn(^3)");
總結
以上是生活随笔為你收集整理的爬数据html解析,jsoup网络爬取数据HTML解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 部队家属生孩子优惠政策
- 下一篇: HTML中From表单的常用type属性