jsoup select 过滤连接地址的例子

现在用jsoup下载某个网站,  感兴趣网址有两种: 一个是页码, 另外就是每个连接,

页码的样式为

<a class="page-link _Xo" href="/toutiao/31891686/p4/">

 连接的内容为

<a title="社会共识" href="/toutiao/31891686/276320419">

分别获取这两种连接, 用中间的/31891686/做过滤字符串, 过滤掉不包含此字符串网址

        String SelectStr;
        switch (linktype) {
            case PAGENO:
                SelectStr = "a[href~=.*/" + FilterStr + "/.*][class=page-link _Xo]";
                break;
            case LINKS:
                SelectStr = "a[href~=.*/" + FilterStr + "/.*][class!=page-link _Xo]";
                break;
            case NONE:
            default:
                SelectStr = "a[href]";
                break;
        }
        result= document.select(SelectStr);

另外一个网站例子:

<a class="yt-uix-sessionlink yt-uix-tile-link  spf-link  yt-ui-ellipsis yt-ui-ellipsis-2" dir="ltr" title="EP24  DAY12" aria-describedby="description-id-630364" data-sessionlink="ei=Oim2XrycEMWyiga4p6yQBA&amp;feature=c4-videos-u" href="/watch?v=4RyTKa-hnxc" rel="nofollow">EP24   DAY12</a>

可以用类名字做选择, 但类名很长,中间有空格, 选择语句把中间空格用点号代替就可以. 注意类名选择要以点号(.)开头

        String SelectStr = ".yt-uix-sessionlink.yt-uix-tile-link.spf-link.yt-ui-ellipsis.yt-ui-ellipsis-2";
        Elements elements = glDoc.select(SelectStr);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值