自动获取指定网站内限定的域名

yinuo8202 2005-04-19 12:36:44
如何实现在给定的网站范围内自动获取主机域名.具体就是,如在这个网站下面
http://www.21trader.com/www_yufei/c_air.do?action=enterc_air
有很多家公司的信息:
'url="http://kkkk.21trader.com/"
'url="http://qixin213.21trader.com/"
' url="http://leek.21trader.com/"
都是类似url=http://*.21trader.com的
如何用Request.ServerVariables()实现自动获取呢?
谢谢!

...全文
322 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinuo8202 2005-04-26
  • 打赏
  • 举报
回复
程序已经实现了,但是有很多漏洞,谢谢各位了!
yinuo8202 2005-04-21
  • 打赏
  • 举报
回复
那段shuangren(土狗早睡早起) 的代码不能实现我想要的,只是进行字符串匹配,没有实现自动获取功能,呵呵.我要做的程序其实就是个新闻小偷!
叫蜘蛛吗,ASP不能实现的话,那什么能实现呢?
shli 2005-04-20
  • 打赏
  • 举报
回复
我还以为是把数据库里的数据库进行转换.
原来是蜘蛛呀!
有ASP的蜘蛛吗?
jhpxf 2005-04-20
  • 打赏
  • 举报
回复
<%
'**********************************************************
' 名称:ReplaceString
' 作用:替换一个字符串
' 参数:strTxt----将要进行文本替换的字符串
' patrn----匹配的字符串
' strRpl----替换文本字符串
' 返回:返回一个字符串ReplaceString
'**********************************************************
Function ReplaceString(strTxt, patrn, strRpl)
Dim regEx
Set regEx = New RegExp ' 建立对象
regEx.Pattern = patrn ' 设置模式
regEx.IgnoreCase = True ' 设置不区分大小写
regEx.Global = True ' 设置全文匹配
ReplaceString = regEx.Replace(strTxt, strRpl) ' 作替换
End Function
%>
例:
<%
url = "http://qixin213.21trader.com/"
url = ReplaceString(url, "^http:\/\/([^\.]+)(.|\n)+$", "$1")
Response.Write(url)
%>
这个函数不是已经可以实现你要的效果了啊?其他的只是对ASP进行操作了,没什么难的啊
yinuo8202 2005-04-20
  • 打赏
  • 举报
回复
不是把,你都救不了我,等死了,
那用什么能实现呢?
说说看,集思广益吗,谢谢
shuangren 2005-04-20
  • 打赏
  • 举报
回复
这个不是ASP能解决的,俺也无能为力^_^
yinuo8202 2005-04-20
  • 打赏
  • 举报
回复
我想应该是从网络上,我现在只知道一级域名网址:
http://www.21trader.com/www_yufei/c_air.do?action=enterc_air
二级域名有40000个左右,有个规律就是:
http://*.21trader.com
我现在就是想实现,在我的机器上运行程序,将二级域名里的信息自动写到数据库.
"*"中的字符串没有规律,这样能实现吗?
shuangren 2005-04-20
  • 打赏
  • 举报
回复
你是从哪里自动寻找二级域名?从源文件吗?
只要你能得到包含二级域名的字符串,可以实现。
yinuo8202 2005-04-19
  • 打赏
  • 举报
回复
我写的代码不能实现:
url=Request.ServerVariables("remote_host")
'response.write url
start=Newstring(url,".")+1
behindurl=mid(wstr,start,13)

if (behindurl="21trader.com/") then
找不到相应的主机域名,该怎么办呢
yinuo8202 2005-04-19
  • 打赏
  • 举报
回复
有没有这样的代码
实现:
给定一级域名后,通过正则表达式匹配来自动寻找二级域名?
能实现吗?

shuangren(土狗早睡早起)
你的程序怎么改一下才好呢?
这个程序我做很久了,就差这个了,再搞不出来就打算放弃了,再帮我一次把,谢谢!
yinuo8202 2005-04-19
  • 打赏
  • 举报
回复
^代表:匹配开始
.:任何字符
[ ]:出现其中的一个单个字符
[^\.]:表示匹配任何字符,但不以"."开头是吗?
(.|\n)表示什么?
$:表示结束,是把
$1:表示第一个子匹配,
按这样理解的话,url应该是http://*开头的,出现qixin213,就不知道是怎么回事了
yinuo8202 2005-04-19
  • 打赏
  • 举报
回复
split()
这个分割可以实现对给定url判断,这个已经实现了,你知道怎样让程序自动去网络上抓取相应的url吗,我觉得一定要在一级域名范围内才行啊,不然网络上那么多的url,程序即使能实现,也不知道要执行到什么时候呢
不知道是不是用这个
Request.ServerVariables()
来实现的.
shuangren 2005-04-19
  • 打赏
  • 举报
回复
qixin213是二级域名,我只是用它举个例子,同样我写的那个函数还可以获得http://*.21trader.com里的*位置的字符串,你不是正想得到它们吗?
关于"^http:\/\/([^\.]+)(.|\n)+$", "$1",这是一个正则表达式,要讲它可费工夫了,简单讲它是用人为定义好的字符来匹配特定字符串的,平时我们讲的通配符(? *)就是某种意义上的正则表达式,比如在dos里输入
dir *.exe
*就代表任意多个字符。你可以自己上网搜正则表达式,有很多文章介绍它。
shli 2005-04-19
  • 打赏
  • 举报
回复
<%

url="http://qixin213.21trader.com/"
url=split(url,".")

'这中是判断域名中间
if url(1)="21trader" then response.write "ok"
'这是判断域名+后坠
if url(1)&"."&url(2)="21trader.com" then response.write "ok"

%>
shli 2005-04-19
  • 打赏
  • 举报
回复
正则表达式

<%
url="http://qixin213.21trader.com/"
url=split(url,".")
For i=0 to ubound(url)
response.write(url(i))
Next
%>
yinuo8202 2005-04-19
  • 打赏
  • 举报
回复
晕,我发帖的网速很慢,象蜗牛!
我是个应届毕业生,这个是公司要我做的题目,超过期限都快一周了,谢谢你的帮助,就好人做到底把!
你贴的代码执行结果是qixin213,我不太明白是怎么回事,麻烦讲解一下,
"^http:\/\/([^\.]+)(.|\n)+$", "$1",这个都代表什么,我在网上也查不到,谢了!
shuangren 2005-04-19
  • 打赏
  • 举报
回复
基本不用QQ,有啥不明白发贴吧,或者给我发留言
yinuo8202 2005-04-19
  • 打赏
  • 举报
回复
哦!
真是厉害,能认识你吗?
37192399,我的QQ号,你的呢?
还有些不明白的地方,想问一下,谢谢!
shuangren 2005-04-19
  • 打赏
  • 举报
回复
给你一个函数
<%
'**********************************************************
' 名称:ReplaceString
' 作用:替换一个字符串
' 参数:strTxt----将要进行文本替换的字符串
' patrn----匹配的字符串
' strRpl----替换文本字符串
' 返回:返回一个字符串ReplaceString
'**********************************************************
Function ReplaceString(strTxt, patrn, strRpl)
Dim regEx
Set regEx = New RegExp ' 建立对象
regEx.Pattern = patrn ' 设置模式
regEx.IgnoreCase = True ' 设置不区分大小写
regEx.Global = True ' 设置全文匹配
ReplaceString = regEx.Replace(strTxt, strRpl) ' 作替换
End Function
%>
例:
<%
url = "http://qixin213.21trader.com/"
url = ReplaceString(url, "^http:\/\/([^\.]+)(.|\n)+$", "$1")
Response.Write(url)
%>
yinuo8202 2005-04-19
  • 打赏
  • 举报
回复
谢谢,
<script language="javascript">
url="http://qixin213.21trader.com/" '这儿是不是要写一级域名呀?
url = url.replace(/^http:\/\/([^\.]+)(.|\n)+$/gi,"$1")
alert(url)
</script>
那用VB怎么写呢?我后面的代码都写好了,就差这个了
加载更多回复(1)

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧