前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JSoup/NSoup对CSS类名称中含空格的处理

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

作者头像
sparkexpert
发布2022-05-07 14:23:56
1.1K0
发布2022-05-07 14:23:56
举报
文章被收录于专栏:大数据智能实战

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

而在这处理过程中,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");

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档