官方数据:爬虫数据采集
优采云 发布时间: 2022-09-26 07:16官方数据:爬虫数据采集
经常有小伙伴需要将互联网上的数据保存在本地,但又不想一一复制。我们首先想到的就是爬虫,可以说是组成了我们精彩的互联网世界。
网络搜索引擎和其他一些网站使用网络爬虫或蜘蛛软件来更新他们的网络内容或其他网站网络内容索引。网络爬虫复制页面以供搜索引擎处理,搜索引擎将下载的页面编入索引,以便用户更有效地搜索。
这一切都归功于爬虫数据采集。在这篇文章我总结了爬虫数据采集的过程,从最简单的基础爬虫开始,到爬虫获取到的数据采集如何存储,我们如何规避它。采取一些反爬措施,获取我们需要的数据,进行爬虫的数据采集:
通过以上18篇文章,详细介绍了整个爬虫采集流程,几乎涉及到爬虫的方方面面采集。
解决方案:任意网页文章内容提取(采集)算法
任意网页文章内容提取(采集)算法
标签:采集程序开发 2014-04-09 19:10 星期三
做过采集的人都知道,要采集一个网站,需要按照网站的结构写一个正则模式。这是最传统的方法。这种方法的好处是采集精度可以很精细,采集任意结构网站,但是这种方法也很有限,一套规则只能用于一个网站 ,如果结构发生变化,需要重新分析和调整规则,非常被动。
我一直在想,如果程序能达到人类的识别水平,那么它就可以采集any网站文本的内容。网上搜索了一下,已经有很多类似的算法了。有以下几种:
1、基于Dom树
1),使用开源包HTML Tidy处理HTML,纠正错误或不规范;
2),按照更标准的HTML构建Dom树,然后递归遍历Dom树,比较识别各种非文本信息,包括广告、链接组和非重要节点信息;广告信息清除:需要建立广告服务器频繁更新列表;链接组去除:计算网页中收录的链接数与非链接词数的比值;
3),去掉非文本信息后,Dom树中剩下的内容就是文本信息,直接从剩余的树节
从点中提取。
有一个问题:Dom树的建立对HTML是否良构有很高的要求,树的建立和遍历是时空的
复杂度高,遍历树的方式会因HTML标签的不同而有所差异。
2、根据网页切分查找文本块
1),网页正确切分后,文本提取工作简化为对文本块的判断;
2),分割是在HTML标签和一些视觉信息(如文本颜色、字体大小、文本信息等)中使用分隔线。
存在问题:不同网站的HTML样式差异很大,没有统一的切分方法,通用性难以保证。
3、基于标记窗口
1),先取出文章标题;
2),这两个标签和它们一起收录的文本称为标签窗口(例如text in text就是标签窗口中的文本),将标签窗口中的文本全部取出;
3),每个标记窗口内的文章标题和文本的分词;
4),计算标题序列与每个标签窗口文本序列之间的单词距离L,如果L小于某个阈值,则认为该标签窗口中的文本为正文。
有一个问题:标注窗口的制定很好,但是每个标注窗口的文本都要先切分,还要计算词序距离,效率?
4、基于数据挖掘或机器学习
使用了文本分类、聚类、隐马模型、数据挖掘等。
有问题:简单的问题复杂化。
5、基于逻辑行数和最大接受距离的网页文本提取
1),在人们写网页的时候考虑一些启发式规则,考虑到文字的物理位置会很接近;
2),做出以下推论:
HTML的每一行代表一个完整的语义;
身体代码将在物理上靠近;
一行正文代码主要是文本;
一行正文代码中的非HTML标签数量较多;
一行正文代码中超链接长度的比例不会很大;
3),任何符合上述推论的代码行都被认为是正文行;
有一个问题:文字确实会在物理上接近,但是长标题和长文章评论的链接组也满足上述条件。还是靠html标签来做判断的。
6、基于行块分布函数的通用网页文本提取:线性时间,不建DOM树,独立于HTML标签
首次将网页文本提取问题转化为页面的行块分布函数。这种方法不需要构建Dom树,也没有病态HTML的包袱(其实和HTML标签无关)。通过线性时间建立的线块分布函数图,可以直接准确定位网页正文。同时采用统计与规则相结合的方法来处理一般性问题。作者认为,简单的事情总是应该用最简单的方法来解决。整个算法实现代码不到一百行。但数额并不多,这是在法律规定的。
项目网址:,/p/cx-extractor/
以上算法均来自第六种算法的分析论文。
第 6 种算法在我看来是最好的算法,它快速且易于实现。但也有缺点。该算法主要针对采集文章,即文本内容较多的网页,因为原理是对网页进行去标签,然后分块,哪个块有更多的文字。认为是文字,在使用过程中发现如下问题:
1、不能采集图像;
2、误区采集链接聚合块作为正文,如:相关文章、文章导读,这些地方的标题文字有时可能会超出正文文本;
3、没有标题识别。
对代码的简单修复解决了上述问题:
1、保存图片标签,改用[img=x];
2、保存链接文本,使用[a=x]代替链接块;
3、标题识别比较容易,可以从标题中获取,然后做简单的过滤。
修改后的程序匹配结果比原算法准确很多,还有很大的调整空间。作者也在论文中解释了这一点。
目前方案还没有完全准确,个别类型网站还是不适用的,比如相册(纯图片)、电影(线路链接)。
应用:,/
网站内容有点乱,基本不能用,还是垃圾网站。相信有的朋友会在百度找到类似的网站,但那些网站可能不是这样的,也可能是简单的关键词积累。
相信经过重新设计,我们可以实现更精准的匹配,效果会越来越好!
修复完美,到时候分享代码。请关注我的博客Slipper Station(,/),希望和大家一起学习。