< %@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">
</head>
<본문>
<%
오류 발생 시 다음 재개
'
Server.ScriptTimeout = 999999
'================================================ =======
'字符编码函数
'================================================ ===
함수 BytesToBstr(본문, 코드)
희미한 객체 스트림
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write 본문
objstream.위치 = 0
objstream.Type = 2
objstream.Charset =코드
BytesToBstr = objstream.ReadText
objstream.Close
objstream = 아무것도 설정하지 않음
종료 기능
'取行字符串在另一字符串中的取行字符串置
함수 Newstring(wstr,strng)
Newstring=Instr(lcase(wstr),lcase(strng))
Newstring<=0이면 Newstring=Len(wstr)
기능 종료
'替换字符串函数'
함수 바꾸기Str(ori,str1,str2)
바꾸기Str=교체(ori,str1,str2)
함수 종료
'================================================ ===
함수 ReadXml(url,code,start,ends)
oSend=createobject("Microsoft.XMLHTTP") 설정
SourceCode = oSend.open("GET",url,false)
oSend.send()
ReadXml=BytesToBstr(oSend.responseBody,코드)
start=Instr(ReadXml,start)
ReadXml=mid(ReadXml,시작)
end=Instr(ReadXml,ends)
ReadXml=왼쪽(ReadXml,끝-1)
끝 함수
function SubStr(body,start,ends)
start=Instr(본문,시작)
SubStr=mid(body,start+len(start)+1)
end=Instr(SubStr,ends)
SubStr=왼쪽(SubStr,끝-1)
끝 기능
희미한 getcont,NewsContent
희미한 URL,제목
url=" http://www.***.com"' 새로운闻网址knowsky.com
getcont=ReadXml(url,"gb2312","<table class=k2 border=""0""","</table>")
getcont=RegexHtml(getcont)
희미한 KeyId,NewsClass,도시,위치,주택 유형,레벨,면적,가격,데모스트라
희미한 ContactMan,Contact
i=2에서 ubound(getcont)까지
response.Write(getcont(i)&"__<br>")
tempLink=mid(getcont(i),instr(getcont(i),"href=""")+6,instr(getcont(i),""" onClick")-10)
tempLink=교체(tempLink,"../","")
response.Write(i&":"&tempLink&"<br>")
NewsContent=ReadXml(tempLink,"gb2312","<td valign=""bottom"" width=""400"">","<hr width=""760"" noshade size=""1"" color= ""#808080""> ")
NewsContent=RemoveHtml(뉴스컨텐트)
NewsContent=교체(NewsContent,VbCrLf,"")
NewsContent=교체(NewsContent,vbNewLine,"")
NewsContent=교체(NewsContent," ","")
NewsContent=교체(NewsContent," ","")
NewsContent=교체(NewsContent," ","")
NewsContent=교체(NewsContent,"n","")
NewsContent=replace(NewsContent,chr(10),"")
NewsContent=replace(NewsContent,chr(13),"")
'===============콘텐츠 가져오기========================
응답.쓰기(뉴스콘텐츠)
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("所지금도시:"&도시&"<br>")
response.Write("房屋具体位置:"&위치&"<br>")
response.Write("房屋类型:"&HouseType&"<br>")
response.Write("楼层:"&레벨&"<br>")
response.Write("사용 화면:"&Area&"<br>")
response.Write("房价:"&가격&"<br>")
response.Write("其他说명:"&데모스트라&"<br>")
response.Write("联系人:"&연락처&"<br>")
response.Write("联系方式:"&연락처&"<br>")
'제목=제거HTML(aa(i))
'response.Write("제목:"&제목)
n=0에서 application.Contents.count까지
if(application.Contents(n)=KeyId) 그러면
ifexit=true
종료하면
다음
그렇지 않다면 ifexit
애플리케이션(시간&i)=KeyId
'添加到数据库'
'================================================ ===
rs=server.CreateObject("adodb.recordset")를 설정합니다.
rs.open "ID 설명별 뉴스 순서에서 상위 1개 * 선택",conn,3,3
rs.addnew
rs("NewsClass")=뉴스클래스
rs("도시")=도시
rs("위치")=위치
rs("HouseType")=집 유형
rs("수준")=수준
rs("면적")=면적
rs("가격")=가격
rs("데모스트라")=데모스트라
rs("ContactMan")=연락처
rs("연락처")=연락처
RS.업데이트
RS.닫기
rs=아무것도 설정하지 않음
종료하면
'================================================ =
다음
기능 RemoveTag(body)
regEx = New RegExp 설정
regEx.Pattern = "<[a].*?</[a]>"
regEx.IgnoreCase = 참
regEx.Global = 참
일치 항목 설정 = regEx.Execute(body)
어두워요,arr(15),ifexit
나는=0
j=0
경기의 각 경기에 대해
TempStr = 일치 값
TempStr=교체(TempStr,"<td>","")
TempStr=replace(TempStr,"</td>","")
TempStr=교체(TempStr,"<tr>","")
TempStr=replace(TempStr,"</tr>","")
arr(i)=TempStr
나=나+1
if(i>=15) 그러면
종료
종료하면
다음
regEx=nothing으로 설정
일치 항목 설정 =없음
태그 제거=arr
함수 종료
함수 RegexHtml(본문)
희미한 r_arr(47),r_temp
regEx2 = 새 RegExp 설정
regEx2.Pattern ="<a.*?</a>"
regEx2.IgnoreCase = 참
regEx2.Global = 참
Matches2 = regEx2.Execute(body) 설정
iii=0
Matches2의 각 경기에 대해
r_arr(iii)=Match.Value
iii=iii+1
다음
RegexHtml=r_arr
regEx2=아무것도 설정하지 않음
Matches2=아무것도 설정하지 않음
함수 종료
'================================================ =====
연결.닫기
conn=아무것도 설정하지 않음
%>
</body>
</html>
함수.asp
<%
'**************************************************** *
'函数이름:gotTopic
'작용:截字符串,汉字一个算两个字符,英文算一个字符
'参 数:str ----원문설명
' strlen ----截取长島
'返回值:截取后字符串
'**************************************************** *
함수 gotTopic(str,strlen)
str=""이면
주제를 얻었습니다=""
종료 기능
종료하면
어둡게 l,t,c, 나는
str=replace(replace(replace(replace(str," "," "),""",chr(34)),">",">"),"<","<" )
str=교체(str,"?","")
l=길이(str)
티=0
i=1에서 l까지
c=Abs(Asc(Mid(str,i,1)))
c>255이면
티=티+2
또 다른
티=티+1
종료하면
t>=strlen이면
gotTopic=왼쪽(str,i) & "…"
종료
또 다른
gotTopic=str
종료하면
다음
gotTopic=replace(replace(replace(replace(gotTopic," "," "),chr(34),"""),">",">"),"<","<" )
함수 종료
'================================================ ========
'函数:RemoveHTML(strHTML)
'功能:去除HTML标记
'参数:strHTML --要去除HTML标记의 문자 유형
'================================================ ========
기능 제거HTML(strHTML)
Dim objRegExp, 일치, 일치
objRegExp = 새 Regexp 설정
objRegExp.IgnoreCase = True
objRegExp.Global = 참
'합리적<>
objRegExp.Pattern = "<.+?>"
'进行匹配'
Set Matches = objRegExp.Execute(strHTML)
' 遍历匹配集合,并替换掉匹配的项目
경기의 각 경기에 대해
strHtml=바꾸기(strHTML,Match.Value,"")
다음
제거HTML=strHTML
objRegExp = 없음으로 설정
일치 항목=아무것도 설정하지 않음
함수 종료
%>
conn.asp
<%
'오류 발생 시 다음 재개
set conn=server.CreateObject("adodb.connection")
con= "드라이버={Microsoft Access 드라이버(*.mdb)};dbq=" & Server.MapPath("stest.mdb")
conn.open con
sub connclose
연결 닫기
conn=아무것도 설정하지 않음
서브 끝
%>
附:抓取信息的详细页면사건例
总序列号: | 479280 |
信息类别: 信息类别:信息 | 类别 |
: | 济南 |
房屋具体位置: | 华龙路华信信信体位置:华龙路华信信信体位置 |
屋类型: | 其他 |
楼层: | 六层 |
使用面积: | 24~240 平方米之间 |
房价: | 0 [租赁:원/월,买卖:万元/套] |
其他说명: | 华信商务楼3至6层小공间对외출租(0.5원/平起),本楼属纯商务办公投사용하다,可用于办public写字间,周边设施齐全、交通便利(37、80、K95在本楼前经过),全产权、city证,楼内设施包括水、电、暖、电梯设施齐全,有意者可电讯! |
联系人: | 鲁、王 |
联系方式: | 88017966、86812217 |
信息来源: | 2005-8-4 8:28:55 来自:218.98.86.175 |
点击次数: | 19 |