jsop中的select()的使用

 今天,我写了一个爬取百度贴吧中的图片时,遇见了一个让我有点困惑的问题,就是在使用jsoup中的选择器时

在里边写明了要寻找的div 标签下的内容,比如:

发现在<div class="gbbb_jpmt gbbb_jpmt_1">类中有一个空格(图中画箭头处),那前后这两个变量又是什么意思呢?其实在html中说过class是设置标签的类,用于指定元素是属于何种样式的类,在css样式中,以小写“点”及“.”来命名。在html页面里则以class="自定义的样式类名"来调用;

比如:<style type="text/css">

.pp{color:red;}

</style>

调用样式类: <div class="pp">

具体的使用方法在这里。 其属性值:class="value" 规定元素的类的名称,如需为一个元素规定多个类,用空格分隔类名.

所以,现在就可知道gbbb_jpmt 和 gbbb_jpmt_1就是两样式类,但一般在selel()中所写的样式类就一个,这样我们可以写成


Document doc = Jsoup.parse(html);

Elements linksElements = doc.select(“dl#gb_block_jpmt<dd.gbb_body<div.gbbb_jpmt<a”);
//dl#gb_block_jpmt表示的意思是找id为gb_block_jpmt下面的
//dd.gbb_body所表示的意思是找class为gbb_body的dd下面的
//div.gbbb_jpmt所表示的意思是找class 为gbbb_jpmt下面的的a标签


在这顺便说一句,如果标签不是class而是<dd id="gbb_body">那就把select中的改为doc.select("dl#gb_block_jpmt<dd#gbb_body<dive.gbbb_jpmt<a")[css中id具体详见在这里];


但现在是事实上,图中的<div class="gbbb_jpmt gbbb_jpmt_1">有两个样式类,那又该如何写select()")?
其实很简单,就只需在第二个样式类前加一个点就行了!doc.select("dl#gb_block_jpmt<dd.gbb_body<div.gbbb_jpmt.gbbb_jpmt_1<a");



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值