爬数据html解析,jsoup网络爬取数据HTML解析
Jsoup是一款網(wǎng)絡(luò)爬取數(shù)據(jù)的解析器,可以解析HTML文件中的任何子節(jié)點,支持離線HTML文件、字符型HTML內(nèi)容、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);
它獲取內(nèi)容的主要方式如下幾點:
1.通過標(biāo)簽名來查找
3325
Elements elements = doc.select("span");
注:通過標(biāo)簽來查找,直接寫 "標(biāo)簽名" 就好,不需要尖括號。
2.通過??id??來查找
36?20
Elements elements = doc.select("#mySpan");
注:通過id來查找,使用方法跟css指定元素一樣,用#
3.通過??class名??來查找
3620
Elements elements = doc.select(".myClass");
注:通過id來查找,使用方法跟css指定元素一樣,用 .
4.利用標(biāo)簽內(nèi)??屬性名??查找元素
3636
Elements elements = doc.select("span[class=class1]span[id=id1]");
注:規(guī)則為 標(biāo)簽名【屬性名=屬性值】,標(biāo)簽名可寫可不寫,多個屬性即多個【】,如上。
5.利用標(biāo)簽內(nèi)??屬性名前綴??查找元素
3622
Elements elements = doc.select("span[^cl]");
注:規(guī)則為 標(biāo)簽名【^屬性名前綴】,標(biāo)簽名可寫可不寫,多個屬性即多個【】。
6.利用標(biāo)簽內(nèi)?屬性名+正則表達式?查找元素
3622
Elements elements = doc.select("span[class~=^AB]");
注:規(guī)則為 標(biāo)簽名【屬性名~=正則表達式】,以上的正則表達式的意思是查找以class值以AB為開頭的標(biāo)簽,標(biāo)簽名可寫可不寫,多個屬性即多個【】
7.利用標(biāo)簽?文本包含某些內(nèi)容?來查找
3622
Elements elements = doc.select("span:contains(3)");
注:規(guī)則為 標(biāo)簽名:contains(文本值)
8.利用標(biāo)簽?文本包含某些內(nèi)容+正則表達式?來查找
3622
Elements elements = doc.select("span:matchesOwn(^3)");
總結(jié)
以上是生活随笔為你收集整理的爬数据html解析,jsoup网络爬取数据HTML解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 部队家属生孩子优惠政策
- 下一篇: 南陵中学2021高考成绩查询,南陵中学2