从网页抓取数据(从网上抓取数据的方法总结,你知道几个?)
优采云 发布时间: 2021-10-10 16:34从网页抓取数据(从网上抓取数据的方法总结,你知道几个?)
首先要知道的是,有很多方法可以从互联网上抓取数据。抓取的来源主要有两种,一种是html网页,一种是json。
从网上抓取这两个东西的时候,不用全用R,用java、php、python之类的就可以快速完成任务。问题的关键在于文档的解析。至于通过网站获取json接口,这是老手的经验。
文档对象模型
不管你使用任何语言或工具,重要的是你必须了解文档对象模型——这很重要!如果你对文档对象模型有深刻的理解,从网上抓取数据就像回家一样容易。
上图是对文档对象模型的直观印象。您打开的任何网页都可以转换为上图。一个文档就是一个页面,然后从根开始,一直向下细分。学过数据结构就好了,没学也没关系,你要知道的是,它是一棵“树”——如果把它倒过来,会更生动,我们总是从根 出发去寻找一些东西。例如,假设我要访问写着"text:"my link"的节点,我们需要从根元素开始,然后找到元素,然后找到元素,然后找到我们要找的节点。这些节点是路径和引导我们可以从根节点中找到我们需要的节点,路径很重要,一旦理解了就可以使用java的jsoup,或者php'
我将引用 W3School 提供的另一个示例
哈利波特
JK罗琳
2005年
29.99
这是一个xml文件,是另一种用图片表示文档的方式,如上图,它们没有什么不同。第一行规定它是一个xml文件。从一开始,它将是根节点,然后是诸如下面的节点。
那么下面,直接引用w3school的原文,里面介绍了节点的分类,类似于人类社会种族的分类,很简单:
上述 XML 文档中的节点示例:
(文档节点)
J K. Rowling(元素节点)(属性节点)
基本值(或原子值,Atomic value)基本值是一个没有父节点或子节点的节点。
基本值示例:
J K.罗琳“en”
物品
项目是基本值或节点。
节点关系
父级(Parent) 每个元素和属性都有一个父级。
在以下示例中, book 元素是 title、author、year 和 price 元素的父元素:
哈利波特 J K. 罗琳 2005
29.99
Children 元素节点可以有零个、一个或多个子节点。
在下面的例子中,title、author、year 和 price 元素都是 book 元素的子元素:
哈利波特 J K. 罗琳 2005
29.99
具有相同父节点的兄弟节点
在以下示例中,title、author、year 和 price 元素都是同级元素:
哈利波特 J K. 罗琳 2005
29.99
祖先(Ancestor)节点的父节点、父节点的父节点等等。
在以下示例中,title 元素的祖先是 book 元素和 bookstore 元素:
哈利波特 J K. 罗琳 2005
29.99
后代节点的子节点、子节点的子节点等。
在以下示例中, bookstore 的后代是 book、title、author、year 和 price 元素:
哈利波特 J K. 罗琳 2005
29.99