分享
 
 
 

头晕的ASP程序~

王朝知道·作者佚名  2009-09-01
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

找找高手中~如果打开指定页,将所有的连接<a></a>中href的地址得到,并逐级的将所有页的连接<a></a>中href的地址也得到呢。

有点类似于递归来进行文件搜所的意思~

用了几种方法。太乱了。。。我现在只能把头几页的所有连接得到

答的正确加送200分!

參考答案:

这个...

FileCounts(URL)是得到所有内容,也就是HTML形势的对吧

那么你现在是否能得到getAllURL(HTMLContent) as Href ?

就是根据URL得到全部的URL集合?

只写算法,不具体代码了..希望能理解,到了这个地步估计你已经能得到一个页面的URL了(不然你前几页是怎么来的...)

由于是ASP的,用事件驱动可能不是很容易理解,所以我就用函数调用的办法了.找到合适的URL之后就dosth.(如果不要重复的,那么见下文)

dim FinalURLS(60000) as string '用于保存全部的URL列表,由于没有.net的hashtable以及arraylist 只能用这个凑合了 -_-!

dim Layers as integer '要搜索的最大层数,总不能无限吧...

dim CurLayers as integer '当前的层数

dim numOfUrl as long '现在找到的URL个数

dim NumOfTestUrl as long '测试的个数

public function doSth(URL as URL)

'比如写数据库啦,计算个数啦,看看里面有没有敏感信息啦之类

'找到之后调用的

end sub

public function getAllURL(URL) as string

dim __URLs() as String '这个就是临时存放URL的类型,你可以想象成string类型

dim __SubURLs() as String

__URLs=分析(URL) '这个分析,就是你的根据内容找到href的算法

if ubound(__URLs)>0 then

'至少有一个href

dim i as long

for i=0 to ubound(__URLs)

addHreftoURLs(__URLs(i)) '加到最后的结果,这个过程是处理字符串的,由于没有字典或者hashtable,所以这个用来遍历字符串,看看有没有重复的,然后剔除掉.

if Layers<>curLayers then '看看有没有超过最大要求层

'开始干活,目录层数加1

curLayers=curLayers+1

'开始递归调用,能看懂吧,在这个循环里面找下一层(Sub的)

__SubURLs=getAllURL(__URLs(i))

'由于我们是用addHreftoURLs来计算的,所以不用返回也是可以的,这里返回的目的是一种习惯,可能以后会用到某个网页的全部URL所以留着吧,去掉也行

getAllURL=__SubURLs

end if

end function

public sub addHreftoURLs(URL) '用于添加进去的

numoftesturl=numoftesturl+1

dim i as long

for i=0 to numofurl '在已经添加进去的找有没有重复的

if 重复了...... 就不写具体你怎么判断是否重复的了 - -

else

1 添加进去 同时numofurl+1 多了一个.

2 然后调用soSth.这个用于模拟Event,就是发生了"找到了"这个事件.你可以什么都不做,也可以 记录数据库或者用于其他地方.都是习惯问题,这个功能很实用的,所以通常写代码的时候直接习惯的留出来了....

end if

next

end sub

主要就这几个部分

1 全局变量,比如可以显示当前进度(额..ASP可能有难度...)

2 doSth...用不到的话可以无视

3 递归得到全部的URL 有层数控制

4 判断这个URL是否有效(重复)

主要就是那个递归,虽然代码不全,但是意思已经体现出来了.递归的时候容易让人搞混乱的地方是先做什么后做什么,哪部分是该做的.. 慢慢想清楚,最终还是能解决的.不要急着写代码.实在不行就画流程图...

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有