为什么GNE 不做全自动提取列表页的功能

简介: 为什么GNE 不做全自动提取列表页的功能

摄影:产品经理餐前小菜

GNE 上线以后,很多同学在用户群里面问到,GNE 能否支持列表页自动提取?例如对于下图中的新闻标题列表:

能自动提取到如下图所示的数据:

[{'title': '上周汪文斌回应80多个提问 其中3件事尤其引人关注',
  'url': 'https://news.163.com/20/0726/20/FIG6FJEG00019B3E.html'},
 {'title': '成都美领馆关闭前24小时:现场有人高唱《大中国》',
  'url': 'https://news.163.com/20/0726/19/FIG1NF9I00019B3E.html'},
 {'title': '美驻成都总领馆现黑垃圾袋 外媒记者:似乎有碎纸片',
  'url': 'https://news.163.com/20/0726/18/FIG0E0IQ0001899O.html'},
 {'title': '美驻成都总领馆被通知关闭第3天:凌晨3点有车驶离',
  'url': 'https://news.163.com/20/0726/16/FIFOFU580001899O.html'},
 {'title': '新三板精选层下周一见',
  'url': 'https://money.163.com/20/0726/07/FIEPSRPS00259DLP.html'},
 {'title': '中巴驶入美驻成都领馆 安保开门时严加防范站成一排',
  'url': 'https://news.163.com/20/0726/13/FIFDBAIV0001899O.html'},
 {'title': '知情人:杀妻案嫌犯曾威胁前妻不同意离婚"命都没有"',
  'url': 'https://news.163.com/20/0726/12/FIFC5VFG00019QIF.html'}]

想法非常好,但实现起来会面临一些问题。

不止一处列表

在一个页面,存在不止一处列表,如下图红色方框、蓝色方框和绿色方框,这三处,从 HTML 里面看,都是列表:

那么,程序怎么知道,应该提取哪个列表?如果把所有列表全部返回,那么用户怎么区分哪些是不需要的呢?如果传入一个 XPath 限定从特定的范围抓取列表,但是既然都传入 XPath 了,直接用这个 XPath 提取列表不就好了吗?

列表项里面哪个 URL 才是标题的 URL?

接下来,你能成功找到列表页所在的区域,那么如果每一行有多个链接,你如何知道哪一个<a>标签中的文字是标题、哪一个@href对应的网址是正文的网址?请看下图,如果不看文字内容,请问你能从 HTML 里面区分哪个红框中的网址对应的是正文网址吗?

所以GNE会怎么做?

GNE 从一开始就不相信各种各样的列表页能自动化完美提取,所以也不会去做完美自动化提取列表页的功能。GNE 要做的是,有限的自动化。

什么叫做有限自动化呢?如下图所示:

在调用list_extractor.extract方法的时候,除了传入网页的 HtmlElement 外,还传入了一个feature参数。这个参数的值是一个看起来像是直接从 Chrome 中复制的 XPath。

没错,feature 参数是你需要的目标列表里面任意一个标题的 XPath。你可以直接在 Chrome 中用开发者工具复制出来。

GNE 拿到 feature 参数以后,会自动从下往上检查它的祖先节点,寻找 feature 参数对应的标题所在的列表。

这样做的好处是显而易见的——第一,这个 XPath 本身已经限定了我需要的列表页所在的位置,所以即使当前页面有多个列表页也能正确识别;第二,feature 参数也能表示出我们需要提取的标题所在的具体标签。所以即使一个列表每一行有多个 <a>标签,也能提取到正确的标题和 URL。

除了 XPath 外,feature 参数也可以接收关键词,如下图所示:

GNE 会到HTML 去寻找所有包含这个关键词的节点,并通过判断他们的祖先节点来寻找这个关键词所在的标题所在的列表。

什么叫做有限的自动化

有限的自动化就是永远相信人的力量。基于统计学的所有 AI 算法都是不可靠的。

上线时间

有限自动化提取列表页的功能,将会在8月2号上线。

目录
相关文章
|
4月前
|
存储
|
5月前
|
JavaScript 前端开发 定位技术
云解析地图作业问题之在搭建页面中简化数据筛选的过程如何解决
云解析地图作业问题之在搭建页面中简化数据筛选的过程如何解决
42 0
|
8月前
|
文字识别 测试技术 数据安全/隐私保护
案例:批量区域识别内容重命名,批量识别扫描PDF区域内容识别重命名,批量识别图片区域内容重命名图片修改图片名字,批量识别图片区域文字并重命名,批量图片部分识别内容重命文件,PDF区域内容提取重命名
该内容介绍了如何使用区域识别重命名软件高效整理图片,例如将图片按时间及内容重命名,适用于简历、单据等识别。文中提供了软件下载链接(百度云盘和腾讯网盘),并列出软件使用的几个关键条件,包括文字清晰、文件名长度限制等。示例展示了银行单据和公司工作单据的识别情况。文章还提及OCR技术在图片文字识别中的应用,强调了识别率、误识率和用户友好性等评估指标。如有类似需求,读者可留言或下载软件测试,并提供图片以获取定制的识别方案。
390 2
|
8月前
视觉智能平台模板视频人脸融合,上传模板之后立即删除模板会报模板id无效,是因为模板还未生成吗?
视觉智能平台模板视频人脸融合,上传模板之后立即删除模板会报模板id无效,是因为模板还未生成吗?
60 1
|
JavaScript 数据可视化 搜索推荐
高德地图开发实战案例:使用Loca数据源展示海量点标注(海量点、自定义分类图标、聚合、信息提示、3D控件)
高德地图开发实战案例:使用Loca数据源展示海量点标注(海量点、自定义分类图标、聚合、信息提示、3D控件)
687 0
|
存储 开发框架 前端开发
ModStartCMS v5.5.0 页面标签支持,用户逻辑优化
ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。
|
Java 数据安全/隐私保护 开发者
【实验】-员工列表-公共页抽取|学习笔记
快速学习【实验】-员工列表-公共页抽取
|
Oracle 关系型数据库 Shell
[自制工具]批量后台更新统计信息
Oracle数据库有时需要批量收集数据库的统计信息,如在大量数据迁移或大量数据更新以后,但是收集的时间可能会较长,为了避免网络中断等意外情况可能引起的麻烦,今天调试了这个小脚本,可以分用户批量执行,同时记录执行时间等日志信息,比较实用。
228 0

热门文章

最新文章

下一篇
开通oss服务