蜘蛛程序
感觉和我自己写那抓商品的有点像了,不过要在前边先找网页,后边找关键字吧。从页面找链接,一个一个得抓,循环下去,直到把这个网站的所有网页都抓到。
然后,把整个互联网都抓取下来。
不用自动找ip自动找域名的方法吗?那怎么找我网站的链接,比如我有个小网站,别的网站没链向我(那么这时候推广就有用了吧,你在别的网站发自己的链接。)
所以,他们抓取的不是全部页面,而是一部分重要的。
然后就有了优先算法,广度优先,深度优先。
对于不太重要的网站,可能只搜索一层或者两层。
对于网站设计者来说,扁平化的网站结构设计有助于搜索引擎抓取其更多的网页。
网页权限
网络蜘蛛在访问网站网页的时候,经常会遇到加密数据和网页权限的问题,有些网页是需要会员权限才能访问。当然,网站的所有者可以通过协议让网络蜘蛛不去抓取,但对于一些出售报告的网站,他们希望搜索引擎能搜索到他们的报告,但又不能完全免费的让搜索者查看,这样就需要给网络蜘蛛提供相应的用户名和密码。网络蜘蛛可以通过所给的权限对这些网页进行网页抓取,从而提供搜索。而当搜索者点击查看该网页的时候,同样需要搜索者提供相应的权限验证。
这里列出世界各大搜索引擎蜘蛛名字,方便大家查看网站日志时查找: google蜘蛛: googlebot 百度蜘蛛:baiduspider yahoo蜘蛛:slurp alexa蜘蛛:ia_archiver bing蜘蛛:bingbot msn蜘蛛:msnbot altavista蜘蛛:scooter lycos蜘蛛: lycos_spider_(t-rex) alltheweb蜘蛛: fast-webcrawler/ inktomi蜘蛛: slurp 有道蜘蛛:YodaoBot和OutfoxBot
三、网络蜘蛛对内容提取
有几个缺陷必须先说明一下。第一,ASP无权访问Windows的注册表,这就使某些ITC正常存储的常量和数 值不可用。通常你可以通过设置ITC为“不使用默认值”来解决这个问题,这就需要你在运行过程中指明每一 次的值。
‘//根据需要可以把他们放到数据库中
<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页中比较独特的标识,这样你才可以准确地获得你需要的东西。你也可以按照你 所返回的文本部分中的链接进行搜寻,不过如果你不知道那些页面的格式,你的网络蜘蛛将无功而返。