文章采集程序(不是百度,google的工作原理是什么?spider的spider)
优采云 发布时间: 2022-04-06 07:24文章采集程序(不是百度,google的工作原理是什么?spider的spider)
采集程序(蜘蛛)应该是搜索引擎的主要部分。当然,我们今天说的不是百度,谷歌的蜘蛛。
我以爬虫论坛为例,给大家大致介绍一下spider的工作原理。
首先,我们需要一个入口网址。我们不知道他们在百度最早的入口网址是什么。以采集论坛为例,这也可以看成是一个垂直搜索引擎,比如奇虎,可以搜索垂直搜索引擎的概念。垂直搜索引擎的入口需要手动采集,因为电脑不会知道哪个url是论坛。我的方法是将采集到的 url 放在配置文件中。
接下来,我们要进入我们需要的页面。这里首先要获取它的分页,分析页面的分页html写一个正则作为匹配方法。获取所有分页网址。我使用的是获取总页数,然后将页数添加到所有列表页中。这样我们就可以得到所有列表页面的url,然后循环读取这些列表页面。
下一步是获取列表页面中所有详细页面的url,使用此规则可以获取所有列表url。至此,我们已经获取到了所有我们想要的url,接下来就是抓取详细页面的url信息了。我们仍然使用常规规则来获取我们想要的字段的内容。一般情况下,应该以比较具有标志性的html作为内容前后的分隔符。这样我们就可以得到我们想要的字段的内容了。论坛比较好办,规则比较多,但是其他行业信息比较麻烦,比如时间、价格等需要格式化的字段。
我们只需要将我们抓取的信息保存到我们自己的数据库中。如果是搜索引擎,我们还必须进行关键词分段索引。这更复杂。
它还涉及编码问题。每个目标网站的编码可能不一样,但是抓到之后一定要转换成自己站的编码。
第一个采集当然是爬取后有页面信息。在随后的采集中我们只需要采集一个新的页面。如果列表按时间排序会更容易。我们只需要记录最后一个采集的url。如果不按时间,那就麻烦了。你得再去一遍url,然后判断是否已经是采集。
这里有几个PHP用来做这个的函数,这类程序的执行时间比较长,所以需要命令行执行。然后使用linux命令定期执行。
iconv编码转换函数
file_get_contents 已经使用了读取文件功能,可以直接读取url
preg_match_all 正则解析函数