< %@LANGUAGE="VBSCRIPT " CODEPAGE="936"%>
<!-- #include file="conn.asp" -->
<!-- #include file="inc/function.asp" -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd ">
<html>
<头>
<title>无标题文档</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv="refresh" content="300;URL=steal_house.asp">
</头>
<正文>
<%
出错时继续下一步
'
服务器.ScriptTimeout = 999999
'==================================================== =======
'字符编码函数
'==================================================== ===
函数 BytesToBstr( 正文,代码)
暗淡对象流
设置 objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.写入主体
objstream.Position = 0
objstream.Type = 2
objstream.Charset =代码
BytesToBstr = objstream.ReadText
objstream.关闭
设置 objstream = 无
End Function
'取行字符串在另一个字符串中的出现位置
函数 Newstring(wstr,strng)
Newstring=Instr(lcase(wstr),lcase(strng))
如果 Newstring<=0 则 Newstring=Len(wstr)
结束功能
'替换字符串函数
函数 ReplaceStr(ori,str1,str2)
ReplaceStr=替换(ori,str1,str2)
结束函数
'==================================================== ===
函数 ReadXml(url,代码,开始,结束)
设置 oSend=createobject("Microsoft.XMLHTTP")
SourceCode = oSend.open("GET",url,false)
oSend.send()
ReadXml=BytesToBstr(oSend.responseBody,代码)
开始=Instr(ReadXml,开始)
ReadXml=mid(ReadXml,开始)
结束=Instr(ReadXml,结束)
ReadXml=左(ReadXml,结束-1)
结束函数
function SubStr(body,start,ends)
开始=指令(主体,开始)
SubStr=mid(主体,开始+len(开始)+1)
结束=Instr(SubStr,结束)
SubStr=左(SubStr,结束-1)
结束函数
dim getcont,新闻内容
模糊的网址,标题
url=" http://www.***.com"'新闻网址knowsky.com
getcont=ReadXml(url,"gb2312","<table class=k2 border=""0""","</table>")
getcont=RegexHtml(getcont)
暗淡KeyId,NewsClass,城市,位置,房屋类型,级别,面积,价格,Demostra
暗淡ContactMan,联系方式
对于 i=2 到 ubound(getcont)
响应.Write(getcont(i)&"__<br>")
tempLink=mid(getcont(i),instr(getcont(i),"href=""")+6,instr(getcont(i),""" onClick")-10)
tempLink=替换(tempLink,"../","")
响应.Write(i&":"&tempLink&"<br>")
NewsContent=ReadXml(tempLink,"gb2312","<td valign=""bottom"" width=""400"">","<hr width=""760"" noshade size=""1"" color= ""#808080""> ")
新闻内容=删除Html(新闻内容)
新闻内容=替换(新闻内容,VbCrLf,“”)
NewsContent=替换(NewsContent,vbNewLine,"")
NewsContent=替换(NewsContent," ","")
NewsContent=替换(NewsContent," ","")
NewsContent=替换(NewsContent," ","")
NewsContent=替换(NewsContent,"n","")
NewsContent=替换(NewsContent,chr(10),"")
NewsContent=替换(NewsContent,chr(13),"")
'==============获取内容=======================
响应.Write(新闻内容)
KeyId=SubStr(NewsContent,"列号:","信息类别:")
NewsClass=SubStr(NewsContent,"类别:","所在城市:")
City=SubStr(NewsContent,"城市:","房屋具体位置:")
Position=SubStr(NewsContent,"位置:","房屋类型:")
HouseType=SubStr(NewsContent,"类型:","楼层:")
Level=SubStr(NewsContent,"楼层:","使用面积:")
Area=SubStr(NewsContent,"面积:","房价:")
Price=SubStr(NewsContent,"房价:","其他说明:")
Demostra=SubStr(NewsContent,"说明:","股市:")
ContactMan=SubStr(NewsContent,"联系人:","联系方式:")
Contact=SubStr(NewsContent,"联系方式:","信息来源:")
response.Write("总序列号:"&KeyId&"<br>")
response.Write("信息类别:"&NewsClass&"<br>")
response.Write("所在城市:"&City&"<br>")
response.Write("具体房屋位置:"&Position&"<br>")
response.Write("房屋类型:"&HouseType&"<br>")
response.Write("楼层:"&Level&"<br>")
response.Write("使用面积:"&Area&"<br>")
response.Write("房价:"&Price&"<br>")
response.Write("其他说明:"&Demostra&"<br>")
response.Write("蒸发器:"&ContactMan&"<br>")
response.Write("联系方式:"&Contact&"<br>")
'标题=删除HTML(aa(i))
'response.Write("标题:"&标题)
对于 n=0 到 application.Contents.count
if(application.Contents(n)=KeyId) then
ifexit=true
结束如果
下一个
如果不是 ifexit 那么
application(时间&i)=KeyId
'添加到数据库
'==================================================== ===
设置 rs=server.CreateObject("adodb.recordset")
rs.open "按 id desc 从新闻顺序中选择前 1 个 *",conn,3,3
rs.addnew
rs("NewsClass")=NewsClass
rs("城市")=城市
rs("位置")=位置
rs("房屋类型")=房屋类型
rs("等级")=等级
rs("面积")=面积
rs("价格")=价格
rs("演示")=演示
rs("联系人")=联系人
rs("联系方式")=联系方式
rs.更新
rs.close
设置 rs=无
结束如果
'==================================================== =
下一个
函数RemoveTag(body)
设置regEx = New RegExp
regEx.Pattern = "<[a].*?</[a]>"
regEx.IgnoreCase = True
regEx.Global = True
设置匹配 = regEx.Execute(body)
昏暗我,arr(15),ifexit
我=0
j=0
对于比赛中的每场比赛
TempStr = 匹配值
TempStr=替换(TempStr,"<td>","")
TempStr=替换(TempStr,"</td>","")
TempStr=替换(TempStr,"<tr>","")
TempStr=替换(TempStr,"</tr>","")
arr(i)=TempStr
我=我+1
如果(i>=15) 那么
退出
结束如果
下一个
设置正则表达式=无
设置匹配=无
删除标签=arr
结束函数
函数 RegexHtml(body)
暗淡 r_arr(47),r_temp
设置 regEx2 = 新正则表达式
regEx2.Pattern ="<a.*?</a>"
regEx2.IgnoreCase = True
regEx2.Global = True
设置 Matches2 = regEx2.Execute(body)
三=0
对于 Matches2 中的每场比赛
r_arr(iii)=匹配值
iii=iii+1
下一个
RegexHtml=r_arr
设置 regEx2=无
设置 Matches2=无
结束函数
'==================================================== =====
conn.close
设置 conn=无
%>
</正文>
</html>
函数.asp
<%
'******************************************************** *
'函数名:gotTopic
'作用:截字符串,汉字一个两个算符,算英文一个字符
'参数:str ----原字符串
' strlen ----截取长度
'返回值:截取后的字符串
'******************************************************** *
函数 getTopic(str,strlen)
如果 str="" 那么
得到主题=“”
退出功能
结束如果
昏暗的l、t、c、i
str=replace(替换(替换(替换(str," "," "),""",chr(34)),">",">"),"<","<" )
str=替换(str,"?","")
l=len(str)
时间=0
对于 i=1 到 l
c=Abs(Asc(Mid(str,i,1)))
如果 c>255 则
t=t+2
别的
t=t+1
结束如果
如果 t>=strlen 那么
得到主题=左(str,i)&“…”
退出
别的
得到主题=str
结束如果
下一个
gotTopic=替换(替换(替换(替换(gotTopic," "," "),chr(34),"""),">",">"),"<","<" )
结束函数
'==================================================== ========
'函数:RemoveHTML(strHTML)
'功能:增强HTML标记
'参数:strHTML --要去除HTML标记的字符串
'==================================================== ========
函数删除HTML(strHTML)
Dim objRegExp,匹配,匹配
设置 objRegExp = 新正则表达式
objRegExp.IgnoreCase = True
objRegExp.Global = True
'取关闭的<>
objRegExp.Pattern = "<.+?>"
'进行匹配
Set Matches = objRegExp.Execute(strHTML)
' 遍历匹配集合,并替换掉匹配的项目
对于比赛中的每场比赛
strHtml=替换(strHTML,Match.Value,"")
下一个
删除HTML=strHTML
设置 objRegExp = 无
设置匹配=无
结束功能
%>
conn.asp
<%
'出错时继续下一步
设置 conn=server.CreateObject("adodb.connection")
con= "driver={Microsoft Access 驱动程序 (*.mdb)};dbq=" & Server.MapPath("stest.mdb")
conn.open con
sub connclose
连接关闭
设置 conn=无
结束子
%>
附:抓取信息的事例
总序列号: | 479280 |
信息类别: | 出租 |
所在城市: | 济南 |
房屋具体位置: | 华龙路华信路交界口 |
房屋类型: | 其他 |
楼层: | 六层 |
使用面积: | 24~240平方米之间 |
房价: | 0 [ 房屋: 元/月, 大厦: 万元/套] |
其他说明: | 华信商务楼3至6层小空间对外出租(0.5元/平起),本楼属纯商务办公投资用途,可用于办公写字间,周边设施齐全、交通便利(37、80、K95在本楼前经过),全产权、市证,楼内设施包括水、电、暖气、电梯设施齐全,装载者可电讯 |
!人: | 鲁、王 |
联系方式: | 88017966、86812217 |
信息来源: | 2005-8-4 8:28:55 来自:218.98.86.175 |
点击次数: | 19 |