搜索引擎蜘蛛算法与蜘蛛程序构架
有几个缺陷必须先说明一下。第一,ASP无权访问Windows的注册表,这就使某些ITC正常存储的常量和数 值不可用。通常你可以通过设置ITC为“不使用默认值”来解决这个问题,这就需要你在运行过程中指明每一 次的值。
另一个更严重的问题是关于许可证书的。由于ASP不具备调用License Manager(一项Windows中的功 能,可以保证组件和控件的合法使用)的功能,那么当License Manager检查当前组件的密钥密码,并将 其与Windows注册表进行比较后,如果发现它们不同,该组件将不会工作。因此,当你想把ITC配置到另一台没 有所需密钥的计算机上时,将导致ITC崩溃。解决的办法之一是将ITC捆绑到另一个VB组件中,由VB组件复制 ITC的路径和工具,从而进行配置。这项工作很麻烦,但不幸的是,它是必不可少的。
下面是一些例子:
你可以用下面的编码建立ITC:
set Inet1 = CreateObject("InetCtls.Inet")
Inet1.protocol = 4 'HTTP
Inet1.accesstype = 1 'Direct connection to internet
Inet1.requesttimeout = 60'in seconds
Inet1.URL = strURL
strHTML = Inet1.OpenURL'grab HTML page
现在strHTML保存着strURL指向的整个页面的HTML内容。要建立一个常规网络蜘蛛,你现在只需要调用 instr() 功能来看看你寻找的串是否在当前位置即可。你也可以按照href标记寻找,解析当前的 URL,然后把它设置到Internet 控件的属性中去,接着再继续打开另一个页面。用来查看所有链接的最 好方法是使用递归。
要注意的是,尽管这种方法很易于实行,却不是非常准确和强大。今天的许多搜索引擎都可以进行额外的 逻辑检查,例如计算一个页面中某一短语重复的次数,相关字词的近似程度等,有些甚至可以用来判断所搜寻 的语段与上下文的关系。
序号网站层次父序号
1http://www.netfox.cn/ 10
2http://www.sina.com.cn/21
3http://www.cnnic.cn/21
4http://www.baidu.cn/32
5http://www.yahoo.cn/32
当把层次2全部记录到数据库后即硬愦中顺序为第一的(这里指序号为2的网站)网站链接开始提取其下面的的所有链接记录到数据库,并把这些网站链接标识为层次3;然后依次把层次为2的网站的所有链接记录到数据库,同时把他们的层次标识为层次3;
当层次3全部记录数据库后,开始从层次3中顺序为第一的网站链接开始提取,依次类推即可!
注意:程序要保留一个指针记录当前正在操作的序号!另外您也可以增加一个父序号字段来记录他们之间的继承关系!
‘//根据需要可以把他们放到数据库中
<HTML>
在这个页面内,我们只关心位于“put headlines here”和 “end headlines”这 两个标记之间的东西。你可以构建一个只返回该区域查找结果的功能设置:
dim intStart
intStart = instr(1, strText, strStartTag, vbtextcompare)
if intStart then
intStart = intStart + len(strStartTag)
intEnd = InStr(intStart + 1, strText, strEndTag, vbtextcompar e)
GetText = Mid(strText, intStart + 1, intEnd - intStart&n bsp;- 1)
else
GetText = " "
end if
End Function
按照上面构建ITC控件的例子,你可以很容易地将strHTML中的“ <!--put headlines here-->”和 “<!--end headlines-->”作为参数传 送到GetText中。
要注意,用于开始和结束的标记都不一定要是实际的HTML专用标记——它们可以是你想使用的任何文本界 定符。在通常情况下,你不容易找到好的HTML标记来界定搜寻区域。你只能使用比较方便称手的标记——例如 ,你的首尾标记可以分别如下:
strEndTag = "<p></td></tr><tr><td><ums>&quo t;
一定要确定搜索的是HTML页中比较独特的标识,这样你才可以准确地获得你需要的东西。你也可以按照你 所返回的文本部分中的链接进行搜寻,不过如果你不知道那些页面的格式,你的网络蜘蛛将无功而返。
原载: 搜索引擎优化SEO博客
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
本文链接地址: http://blog.5ixb.com/seo/search-engine-spider.html
转载于:https://www.cnblogs.com/qiangge666/p/4752026.html
搜索引擎蜘蛛算法与蜘蛛程序构架相关推荐
- 搜索引擎原理-网络蜘蛛和ROBOTS
一.网络蜘蛛基本原理 网络蜘蛛即Web Spider,是一个很形象的名字.把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页,从网站某一个页面( ...
- chrome插件:User-Agent Switcher for Chrome模拟搜索引擎蜘蛛之访问蜘蛛页
一.概要 蜘蛛页可以简单的理解为百度搜索引擎抓取的页面.那么在上线项目中,怎么模拟蜘蛛去访问蜘蛛页呢?在这里提供一种利用谷歌插件User-Agent Switcher for Chrome来进行模拟查 ...
- JAVA分析html算法(JAVA网页蜘蛛算法)
近来有些朋友在做蜘蛛算法,或者在网页上面做深度的数据挖掘.但是遇到复杂而繁琐的html页面大家都望而却步.因为很难获取到相应的数据. 最古老的办法的是尝试用正则表达式,估计那么繁琐的东西得不偿失,浪费 ...
- php编写蜘蛛池站群教程,快车蜘蛛池站群程序 v2.0
快车蜘蛛池站群程序程序特点 无需数据库独立运行 支持泛解析模式 1 程序带有简易后台 2 文章内容可以自动采集 或者自动组合生成 3 程序伪静态 动态可一键开关 4 内置近50套模版 可随机调用,也可 ...
- 快车蜘蛛池站群程序 v2.0
源码下载:快车蜘蛛池站群程序v2.0-小程序文档类资源-CSDN下载 [首发]快车蜘蛛池站群程序源码 v2.0 无需数据库独立运行 支持泛解析模式 程序介绍: 1 程序带有简易后台 2 文章内容可以自 ...
- 关于网络蜘蛛以及搜索蜘蛛爬行
当"蜘蛛"程序出现时,现代意义上的搜索引擎才初露端倪.它实际上是一种电脑"机器人"(Computer Robot),电脑"机器人"是指某个能 ...
- 网页浏览器的搜索引擎及算法(包括网页,App内,后台数据等)
网页上的搜索引擎,App内的应用框搜索及后台的数据搜索等? 中国两大主流搜索引擎:百度和Google.微软的搜索引擎:http://m2.cn.bing.com/ 搜索引擎要素:链接的质量和数量,排名 ...
- 企业做推广以原创内容为引流要符合搜索引擎的算法
内容营销:原创引流也要有套路 <如何免费获取线上流量>系列课程之三 (注:以下内容是根据张进老师在2020年12月10号在善书院举办的一期企业经营沙龙上,所做的<企业如何获取线上的免 ...
- fcm算法的MATLAB实现,FCM算法的matlab程序(初步)
FCM算法的matlab程序 1.采用iris数据库 iris_data.txt 5.1 3.5 1.4 0.2 4.9 3 1.4 0.2 4.7 3.2 1.3 0.2 4.6 3.1 1.5 0 ...
最新文章
- 后处理程序文件大小的变量_【每日一题】(17题)面试官问:JS中事件流,事件处理程序,事件对象的理解?...
- java 动态切换_java-动态切换日志级别的3种方案
- 软件测试用python一般用来做什么-做软件测试的, python应该掌握成怎么样 ?
- HashSet/HashMap 存取值的过程
- QQ窗口的控制,同步异步打开360网盘,控制360网盘窗口的移动
- Eclipse快捷键生成语句
- linux日志绕接,Logback配置
- 硬核!有人开源了一套呼吸机方案!
- Github新功能 个人展示项目--首页展示个人介绍 图片and so on(2020.08.05)
- 20141113--SQL 事务
- idea 包拆分_idea springboot项目拆分多模块踩坑记(1)
- UE4之Import源码解析
- MyBatis学习02
- 白板推导系列Pytorch实现-感知机算法
- mysql设置report_host语法_mysqlreport使用详解
- (转)互利主义:道德经济人的基本行为准则
- 计算机c盘满了怎么搬家,c盘满了怎么办 c盘怎么搬家【搬家步骤】
- 西南科技大学OJ题 折半查找的实现1010
- 局域网用户的限制与反限制
- 宇视EZVMS系统通过GB28181协议接入EasyGBS的步骤说明
热门文章
- 盘点教的好、口碑好的Web前端培训班
- 自学和参加web前端培训班需要什么基础
- Java大数据基础——day01
- 2018年图灵奖--约书亚·本吉奥、杰弗里·埃弗里斯特·辛顿和Yann LeCun简介
- 【python脚本】生成RTL dummy文件
- PostgreSQL 报ERROR: column c.relhasoids does not exist
- Android ContentProvider之联系人数据库及操作
- 读书笔记--Java虚拟机垃圾收集算法
- 《算法4》读书笔记(一)
- C语言最-佳存款方案程序(代码原创)