大侠们我想问两个Android开发使用jsoup解析html的相关问题

大侠们我想问两个Android开发使用jsoup解析html的相关问题,第1张

问题:大侠们我想问两个Android开发使用jsoup解析html的相关问题

回答:第一个问题帮你解决了;第二个问题很简单(但你用错了),但没有你的这个htm文件,没有修改测试

superonCreate(savedInstanceState);

TextView txt = new TextView(this);

InputStream input;

try {

input = getResources()getAssets()open("temp04_assets/txt01htm");

int buffersize = inputavailable();// 取得输入流的字节长度

byte buffer[] = new byte[buffersize];

inputread(buffer);// 将数据读入数组

inputclose();// 读取完毕后要关闭流。

String txthtml = EncodingUtilsgetString(buffer, "UTF-8");// 设置取得的数据编码,防止乱码

Document doc = Jsoupparse(txthtml);

Element infoTable = docgetElementsByAttributeValue("class",

"table002")first();

Elements tableLineInfos = infoTableselect("tr");

for (Element lineInfo : tableLineInfos) {

String lineInfoContent = lineInfoselect("td")last()text()

trim();

txtsetText(lineInfoContent);

setContentView(txt);

}

} catch (IOException err) {

errgetStackTrace();

}

新浪的那个天气的值是通过js动态加载的,原始html页面是<div id="SI_Weather_Wrap" class="now-wea-wrap clearfix"></div> 。

而jsoup只是对html进行解析,所以是找不到js动态生成的哪些信息的。

String html = "<div class=''aa" id="aa">

</div>";

Document doc = Jsoupparse(html);

Element link = docselect("div#>aa");//使用id

如果要获取div里面的其它节点直接docselect("div#>aa>p") id=p的节点。

使用Jsoup解析html中的指定数据,十分方便。Jsoup工具十分强大,十分好用。但网上似乎没有很好的例子,本文的目的即在于此。建议仔细阅读代码中的几个例子,Jsoup解析数据不外乎这几种类型。

第一步:将Jsoup JAR包导入项目

第二步:使用Jsoup API

1, 定位

通过div的属性值,定位到html的div(块),即所需要内容对应的块。

示例代码如下:

<div class="content">

2, 筛选数据

a, 通过标签头,在div中继续筛选数据。可能会找到很多的数据,这里会用到循环。见eg1。

//eg1:解析百度音乐 Document doc = Jsoupconnect(">

以上就是关于大侠们我想问两个Android开发使用jsoup解析html的相关问题全部的内容,包括:大侠们我想问两个Android开发使用jsoup解析html的相关问题、java语言获取网页标签中的内容、jsoup如何通过字符串抓取元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9355770.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存