JSoup/NSoup对CSS类名称中含空格的处理

在爬虫过程中,经常需要对网页内容进行信息提取。


而在这处理过程中,JSoup是经常常用的库。(Nsoup是Jsoup的.net开发版本)


从JSOUP的官网例子中,可以处理几乎任何节点数据。


但是在查找某个类别的CSS名称过程中,由于名称存在空格,导致其提取内容问题返回为空。


相信这个问题大家经常遇到,于是在此将过程记录一下。


如下面一个例子:

<div class="baseinfo-feild abstract">
                    <div class="row clear zh">
                        <div class="pre ">
                            <span>摘要:</span>
                        </div>
                        <div class="text">在考虑咽喉区进路交叉和到发线技术作业安全的前提下,将到发线和咽喉区作为整体进行综合优化,以到发线运用和咽喉区进路运用均衡为优化目标,基于0-1整数规划方法构建到发线运用模型,并编制模拟退火求解算法.以兰州站为对象进行案例分析,结果表明:到发线和咽喉的运用都达到了均衡并且使占用同一到发线相邻两列列车时间间隔增大,若发生晚点等突发事件便于车站作业调整.所构建模型能够有效提高车站技术设备利用均衡性以及车站作业的抗干扰性,为车站作业计划编制提供优化方法.</div>
                    </div>
            </div>


其中:按照下面进行编写代码:



            Document doc = NSoupClient.Parse(html);
            var abs = abstractS.Select("div.row clear zh");

这样返回的abs内容为空。即出现空格的情况下,程序中会默认进行截断,只返回row的CSS类,而这导致不匹配而返回空。


最终查看代码,终于搞定,即要对CSS中的空格进行处"理。即用"."代替空格。


            var abs = abstractS.Select("div.row.clear.zh");


用这种方式,就可以提取到相关的信息.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值