欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Java使用Jsoup处理报文简单样例

Java使用Jsoup处理报文简单样例

2025/2/7 23:40:43 来源:https://blog.csdn.net/BHSZZY/article/details/145441845  浏览:    关键词:Java使用Jsoup处理报文简单样例

爬虫中经常用到,使用post或者get方法获得响应报文后,用这个方法处理,找到想要的数据。

一、maven配置

        <dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.13.1</version></dependency>

一个是处理json用的,一个就是jsoup本身。

二、代码样例

假设报文是:

<html>
<div class="bet-tb bet-tb-dg">no_use</div>
<div class="bet-tb bet-tb-dg">
<table>
<tr>
<td>编号</td><td>姓名</td><td>地址</td>
</tr>
<tr>
<td>0</td><td>a</td><td>1</td>
</tr>
<tr>
<td>1</td><td>b</td><td>2</td>
</tr>
</table>
</div>
</html>
    public static ArrayList jsoup(String str, ExecelBean execelBean, boolean single){ArrayList list = new ArrayList();Document doc = Jsoup.parse(str);Element element = null;try {element = doc.getElementsByClass("bet-tb bet-tb-dg").get(1);} catch (Exception e){System.out.println("出错了!");return;}Elements tr = element.getElementsByTag("tr");for(int i=0; i<tr.size(); i++){String number = tr.get(i).getElementsByTag("td").get(0).text();String name =  tr.get(i).getElementsByTag("td").get(1).text();String address = tr.get(i).getElementsByTag("td").get(2).text();String[] strs = new String[]{number, name , address};list.add(strs);}return list;}

其中,先把响应报文转为Document对象;
然后按类名查找,得到有哪些元素,选择的是第二个元素(从0开始,get(1)就是第二个);
然后再查找第二个元素里,是tr标签的元素,样例中有3行tr;
然后循环,找到其中的td元素,text()方法就类似js的innerText方法,获取标签里面的文本信息;

最后装到list里,返回。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com