网页信息抓取软件(为什么80的码农都做不了架构师?(图))
优采云 发布时间: 2021-10-07 15:19网页信息抓取软件(为什么80的码农都做不了架构师?(图))
为什么80%的程序员不能成为架构师?>>>
有许多类型的网络爬虫。下面是一个非常粗略的分类,并说明了网络爬虫/数据提取/信息提取工具包MetaSeeker中的爬虫属于哪个类别。
如果按照部署的地方来划分,可以分为:
1、服务器端:一般是多线程程序,同时下载多个目标HTML。可以用PHP、Java、Python(目前流行)等来完成,一般综合搜索引擎的爬虫都是这样做的。但是,如果对方讨厌爬虫,有可能封锁服务器的IP,不容易更改,而且消耗的带宽也相当昂贵。
2.客户端:非常适合部署固定主题爬虫,或者聚焦爬虫。与谷歌、百度等竞争的综合搜索引擎成功的机会很小,而垂直搜索或比价服务或推荐引擎的机会要多得多。这种类型的爬虫不会抓取所有页面,而只会抓取您关心的内容。页面,只抓取页面上你关心的内容,比如提取黄页信息、产品价格信息、提取竞争对手的广告信息等。这种爬虫可以部署很多,而且攻击性很强,对方很难拦截。
网络爬虫/数据提取/信息提取工具包MetaSeeker中的爬虫属于客户端定题爬虫(产品特性更详细),可以低成本大批量部署。因为客户端的IP地址是动态的,很难被针对性的攻击。<@网站被屏蔽了。
我们只讨论固定主题的爬虫。普通的爬虫要简单得多,网上也有很多。如果按照如何提取数据来划分,可以分为两类:
1.通过正则表达式提取内容。HTML 文件只是一个文本文件。只需使用正则表达式提取指定位置的内容即可。“指定地点”不一定是绝对定位。比如可以参考HTML标签定位,更准确。
2.使用DOM提取内容。HTML文件首先被转换成DOM数据结构,然后遍历这个结构来提取内容。
<p>可能有人会问,你为什么还要用DOM的方法,把它翻过来呢?DOM方法存在的原因有很多:首先,你不需要自己做DOM结构的分析。有现成的库,编程也不复杂。其次,可以实现非常复杂但灵活的定位规则,而正则表达式很难。写; 第三,如果定位是考虑到HTML文件的结构,用正则表达式解析起来并不容易。HTML 文件经常有错误。如果把这个任务交给现成的图书馆,那就容易多了。第四,假设要解析Javascript的内容,正则表达式是无能为力的。当然DOM方法本身是无能为力的,但是可以提取AJAX