RuiJi Scraper基础 – RuiJi表达式模型
前言
RuiJi Scraper是一款可视化的浏览器爬虫扩展,是一款适合金融、新闻编辑、新媒体人员、个人站点、爬虫工作者数据采集工具。
RuiJi表达式是RuiJi Scraper的抽取模型,同时也是RuiJi.Net开源爬虫框架的抽取模型,RuiJi.Net是github上的开源项目,贡献者同时也是RuiJi Scraper的作者。
RuiJi表达式是大量的爬虫工作中总结出的经验,基本上可以适用于所有需抓取的网页。
数据块 Block
在网页设计时,网页设计者往往会使用样式,ID等来区分网页的区域,不同的区域显示不同的内容,这不仅在网页设计上是大多设计者共同使用的习惯,同时也利用该种方式,在最终产品上形成视觉可识别的区域,使使用者能过快速的定位自己关心的内容。
Block是我们需要提取的区域,在一个页面中这种区域可能存在多个。我们以google的RuiJi Scraper搜索结果为例来说明一下Block。
从图中我们可以看出,google的页面搜索结果(all)大致分为三部分,视频搜索结果,图片搜索结果,网页搜索结果。这三种搜索结果以不同的形式展示给搜索用户,视频和图片的搜索结果为横向,网页的搜索结果为纵向,三种搜索结果的数据都有各自的展示形式。视频搜索结果横向,具有视频预览,时长,标题,作者,来源,上传时间。图片搜索结果横向,主要展示形式为图片。网页搜索结果纵向,具有标题,网址,摘要。我们可能对其中的一部分或全部内容感兴趣。
Block用来定位我们感兴趣的需要提取的区域。
在Block未被定义的情况下,RuiJi表达式默认将Body作为Block
数据片 Tile
正如上面所述,每个Block可能都具有各自的展示形式(也可能相同),但是每个Block中的内容的体现形式是一样的,在网页开发中,开发者往往使用循环的方式,将需要展示的数据以相同子元素的形式展示在页面中。我们同样以google的RuiJi Scraper搜索结果其中的网页搜索结果为例,如下图所示:
如果我们忽略Tile中的内容的话,您将发现Block中是以相同子元素进行循环来向用户展示数据。
Tile被用来定义Block中重复的子元素
元数据 Meta
元数据是我们真正要提取的数据,我们将这些数据抓取下来,保存到文档或数据库,以备后续使用。RuiJi Scraper会将提取出的数据按照所属Tile,Block进行分组,并将抽取结果转换为结构化的数据。下图展示的是一个数据片的搜索结果形式。这里具有标题,链接和摘要。Meta用来描述我们在这个数据片中感兴趣的数据。这里元数据的数量根据您的需要进行定义。
Meta用来描述我们在这个数据片中感兴趣的数据
转载于:https://www.cnblogs.com/zhupingqi/p/9900352.html
RuiJi Scraper基础 – RuiJi表达式模型相关推荐
- DSP基础算法与模型研究
DSP基础算法与模型研究 (转载请保留原文链接 http://www.techinads.com/archives/41 authored by 江申_Johnson) 美国有一家很优秀的DSP公司- ...
- CSS 基础框盒模型介绍
当对一个文档进行布局(lay out)的时候,浏览器的渲染引擎会根据标准之一的 CSS 基础框盒模型(CSS basic box model),将所有元素表示为一个个矩形的盒子(box).CSS 决定 ...
- 《敏捷制造——敏捷集成基础结构设计》——2.3 集成基础结构数据访问模型
本节书摘来异步社区<敏捷制造--敏捷集成基础结构设计>一书中的第2章,第2.3节,作者:苏金泷,更多章节内容可以访问云栖社区"异步社区"公众号查看 2.3 集成基础结构 ...
- AI基础:自然语言处理基础之序列模型
本文主要参考吴恩达老师的深度学习课程[1]笔记部分. 0.导语 序列模型,是自然语言处理的基础,本集讲解循环序列模型. 我正在编写AI基础系列,目前已经发布: AI 基础:简易数学入门 AI 基础:P ...
- 基于深度学习的轴承故障识别-构建基础的CNN模型
上回书说到,处理序列的基本深度学习算法分别是循环神经网络(recurrent neural network)和一维卷积神经网络(1D convnet).上篇构建了基础的LSTM模型,这一篇自然轮到CN ...
- 作战仿真中的八个基础的行动模型
转载参考:https://zhuanlan.zhihu.com/p/43343462 作战仿真模型分为 实体模型.行动模型 两部分. 实体模型主要用于表征各类武器装备.部队单位等仿真对象的静态能力属性 ...
- Jquery从入门到精通:二、选择器 1、准备篇 1)基础的基础:DOM模型
二.选择器 1.准备篇 (1)基础的基础:DOM模型 什么是DOM 文件对象模型(Document Object Model,DOM)是给 HTML 与 XML 文件 ...
- Django零基础部署机器学习模型(将模型预测打包成API接口/网页URL)
Django零基础部署机器学习模型 Django REST framework项目创建 框架结构了解 部署代码 Django REST framework项目创建 建立一个项目文件夹,使用VScode ...
- Verilog基础:表达式位宽的确定(位宽拓展)
相关文章 Verilog基础:位宽拓展和有符号数运算的联系 Verilog基础:表达式符号的确定 Verilog基础:数据类型 表达式位宽 如果想要在计算表达式时获得和谐一致的结果,那么控制表达式中的 ...
最新文章
- 全景图拼接算法实现与改进
- 汇编实验2.2 查找匹配字符串(附有详细注释和源代码和相关知识)
- 关于jquery-Validate
- VTK:Picking之CellPicking
- 【微信开发】上传下载多媒体文件
- aix shell脚本 运行java_Linux中执行shell脚本的4种方法总结
- 由于找不到appvisvsubsystems32.dll_找茬游戏大全:我找东西贼快!小清新找茬游戏小程序,点开既玩...
- web前端学习笔记(python)(一)
- AWR 报告深度解读:Time Model Statistics 信息的计算和获取
- Django 框架 新建app 、新建表
- python贪吃蛇源代码_python实现贪吃蛇游戏源码
- ryu实例---Hub
- 用metasploit(msf)复现MS17-010(经典的永恒之蓝)SMB漏洞
- SayAsYouWish:Fine-grained Control of Image Caption Generation with Abstract Scene Graphs ---- 论文阅读笔记
- 2014年总结和2015年的规划
- Python实用编程技巧(二)
- principal argument cannot be null
- Java 将Word保存为WPS和WPT格式
- GMS认证送测前自检项小结
- 计算机是否支持64位操作系统,如何确定电脑的CPU是否支持64位操作系统