亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

如何用XMLHTTP對象抓取網頁源代碼,拆分數據寫入數據庫

2024-09-05 20:54:42
字體:
來源:轉載
供稿:網友

<!--#include file="fget.asp"-->
<!--#include file="conn.asp"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>dwww.cn 信息采集</title>
</head>
<body >
<%
Server.ScriptTimeOut=9999999
PageStart=""'抓取開始頁
PageEnd=30'抓取結束頁
lburl="http://www.tignet.cn/zhaoshang/index.asp?CurPageNum="'列表第一頁開始url
pg=cint(request.querystring("pg"))'取得頁數
'=========列表分頁處理開始=========================
if PageStart="" and pg=0 then'判斷是否為第一頁
pg=1'第一頁直接抓取
list_url="http://www.tignet.cn/zhaoshang/"
elseif PageStart="" and pg<>0 then'設置下一頁抓取url
list_url=lburl&pg
elseif PageStart<>"" and pg=0 then
pg=PageStart'設置采集開始頁數
list_url=lburl&pg
elseif PageStart<>"" and pg<>0 then
list_url=lburl&pg
end if
' response.Write list_url
' response.End()
'=========截取數據開始=============================
'第一步設置數據
lists="發布信息"'列表截取
listo="【中國虎網】 為醫藥界"
listxs="留言咨詢"'循環鏈接截取
links="<a href='"'標題鏈接
linko="' target='_blank' >"
'=================內容加字段=======================
companys="<span style='font-size:12px;'>"'公司名稱
companyo="</span>"
names="padding-bottom:3px;'>"'藥品名稱
nameo="</a>"
kinds=">類別:"'藥品類型
kindo="</span>"
times="更新時間:"'代理商介紹
timeo="</span>"
Response.Write "</br>"
Response.Write "<center><font size=3pt>=============抓取"&list_url&"信息開始=============</font></center>"
'調用主題函數NewsList
Call NewsList()
'調用轉向下一頁函數
Call EndPage()
Function NewsList()'獲取某類列表代碼
strHtml=GetHTTPPage(list_url)'獲得html代碼
strHtml=strCut(strHtml,lists,listo,1)'獲取列表代碼
' response.Write strHtml
' response.End()
strHtml=split(strHtml,listxs)'拆分代碼
' response.Write strHtml(1)
' response.End()
for i=0 to (ubound(strHtml)-1)'拆分標題,鏈接地址
newsurl="http://www.tignet.cn"&strCut(strHtml(i),links,linko,2)
' response.Write newsurl
' response.End()
'Get_time=FormatStr(Trim(strCut(strHtml(i),times,timeo,2)))'發布時間
' if FormatStr(strCut(strHtml(i),links,linko,2))<>"" then
' NewsHtml=GetHTTPPage(newsurl)'獲取下一步詳細內容頁面html代碼
'' response.Write NewsHtml
'' response.End()
' else
' response.Write "抓取第"&i&"條鏈接地址失敗,不能抓取此項詳細內容,程序將跳過此項目!"
' end if
'leibie=FormatStr(Trim(strCut(NewsHtml,kinds,kindo,2)))'采集產品類別
leibie=FormatStr(Trim(strCut(strHtml(i),kinds,kindo,2)))
if leibie<>"" then
company=FormatStr(Trim(strCut(strHtml(i),companys,companyo,2)))'采集公司名稱
'ming=replace(FormatStr(Trim(strCut(strHtml(i),names,nameo,2))),"★","")'采集產品名稱
ming=FormatStr(Trim(strCut(strHtml(i),names,nameo,2)))'采集產品名稱
shijian=replace(FormatStr(Trim(strCut(strHtml(i),times,timeo,2))),"/","-")'發布時間
s1=instr(leibie,"品 ")
s2=len(leibie)
if s1>0 then
bigkind=mid(leibie,1,s1)
kind=mid(leibie,(s1+1),(s2-s1))
else
bigkind=leibie
kind=""
end if

if newsurl<>"" then
set rs=server.CreateObject("adodb.recordset")
sql="select url from Get_zhaoshang where url='"&newsurl&"'"
rs.open sql,conn,1,1
if rs.eof then
'插入數據
SQL="insert into Get_zhaoshang(company,names,bigkind,kind,url,times) values('"&company&"','"&ming&"','"&bigkind&"','"&kind&"','"&newsurl&"','"&shijian&"')"
Conn.execute(SQL)
response.write "&nbsp;&nbsp;&nbsp;<font color=Green size=3pt>+</font>"&newsurl&"<br>"
else
response.write "&nbsp;&nbsp;&nbsp;<font color=red size=3pt>此條信息已經存在,程序將跳過!</font><br>"
end if
end if
end if
Next
set strHtml=nothing
Response.Write "<center><font size=3pt>第"&pg&"頁信息抓取結束!??!</font></center>"
End Function

Function GetHTTPPage(Url)'獲取Html代碼函數
err.clear
On Error Resume Next
dim http
set http=Server.createobject("Microsoft.XMLHTTP")
Http.open "GET",url,false
'HTTP的通信方式,比如GET或是POST '接收XML數據的服務器的URL地址。通常在URL中要指明ASP或CGI程序
'如果是異步通信方式(true)如果是同步方式(false)
Http.send()
'Send方法的參數類型是Variant,可以是字符串、DOM樹或任意數據流。
'發送數據的方式分為同步和異步兩種。在異步方式下,數據包一旦發送完畢,就結束Send進程,
'客戶機執行其他的操作;而在同步方式下,客戶機要等到服務器返回確認消息后才結束Send進程
if Http.readystate<>4 then
'0   Response對象已經創建,但XML文檔上載過程尚未結束
'1   XML文檔已經裝載完畢
'2   XML文檔已經裝載完畢,正在處理中
'3   部分XML文檔已經解析
'4   文檔已經解析完畢,客戶端可以接受返回消息

exit function
end if
GetHTTPPage = bytesToBSTR(Http.responseBody,"GB2312")'bytesToBSTR 編碼轉化函數
'=======對Http.responseBody的解釋=========
'responseText:將返回消息作為文本字符串;
'responseBody:將返回消息作為HTML文檔內容;
'responseXML:將返回消息視為XML文檔,在服務器響應消息中含有XML數據時使用;
'responseStream:將返回消息視為Stream對象
'response.write GetHTTPPage
set http = Nothing
If Err Then
response.write err.description
Response.Write "<br><br><p align='center'><font color='red'><b>無法抓取本頁面列表信息!??!</b></font></p>"
End If
End function

Function EndPage()'抓取下一頁,跳轉函數.PageNo--->抓取的頁數
if pg<PageEnd Then'抓取下一頁
response.write "<script>window.location='tignetcn.asp?pg="&pg+1&"';</script>"
else
Response.Write "<hr size=1 color=#00FF00 width=500>"
response.write "<center><font size=2pt><b>===============================信息抓取完畢!!!================================</b></font></center>"
response.end
end if
End Function
%>
</body>
</html>

下面是fget.asp里兩個函數,一個是截取,一個事過濾html:
1:截取函數:


Function strCut(strContent,StartStr,EndStr,CutType)
'strContent 要截取的內容
'StartStr 開始標志字符
'EndStr 結束標志字符
'CutType 截取類型 1--包括開始,結尾標記 2----不包括開始,結尾標記

Dim strHtml,S1,S2
strHtml = strContent
On Error Resume Next
If CutType=2 Then'不包括開始,結尾標記
S1 = InStr(strHtml,StartStr)+Len(StartStr)
S2 = InStr(S1,strHtml,EndStr)

If Err Then
response.write "Unknow Wrong:"&err.description&"---BG:" & S1 & "&nbsp;End:"&S2&"<br>"
Err.Clear
strCut=""
Exit Function
Else
If S1>Len(StartStr) and S2>0 then
strCut=Mid(strHtml,S1,S2-S1)
Else
strCut=""
End If
End if
' response.Write strCut
' response.End()
Else'包括開始,結尾標記
S1 = InStr(strHtml,StartStr)
S2 = InStr(S1,strHtml,EndStr)+Len(EndStr)
If Err Then
response.write "Unknow Wrong:"&err.description&"---BG:" & S1 & "&nbsp;End:"&S2&"<br>"
Err.Clear
strCut=""
Exit Function
Else
If S1>0 and S2>Len(EndStr) then
strCut=Mid(strHtml,S1,S2-S1)
Else
strCut=""
End If
End if
End If
End Function
2.html過濾函數,也過濾一些 回車,空格之類的

Function FormatStr(str)
Dim s1,s2
If str<>"" then
str=replace(replace(Trim(str),chr(32)&chr(32),""),chr(9),"")
DO While (instr(str,">")>0 and instr(str,"<")>0)
s1=InStr(str,"<")
s2=Instr(s1,str,">")
If s1>0 and s2>0 then
str=replace(str,mid(str,s1,s2-s1+1),"")
End if
Loop
str=replace(replace(str,"<","&lt;"),">","&gt;")
str=Replace(Replace(Replace(replace(replace(str,chr(13),""),chr(10),""),"""","”"),"'","’"),"&nbsp;","")
FormatStr=str
Else
FormatStr=""
End if
End Function
 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品中文字幕在线观看| 不卡av电影在线观看| 国产精品美女久久久久久免费| 亚洲男人7777| 久久天天躁狠狠躁夜夜躁2014| 亚洲精品电影在线观看| 亚洲男人天堂手机在线| 欧美国产欧美亚洲国产日韩mv天天看完整| 91精品国产综合久久香蕉最新版| 精品久久香蕉国产线看观看gif| 亚洲视频在线观看| 精品二区三区线观看| 成人日韩av在线| 亚洲欧美国产va在线影院| 日韩a**中文字幕| 欧美性生交xxxxx久久久| 欧美电影院免费观看| 亚洲免费视频网站| 色婷婷综合久久久久中文字幕1| 欧美诱惑福利视频| 国产精品 欧美在线| 欧美精品做受xxx性少妇| 亚洲第一天堂av| 久久视频免费在线播放| 国产精品久久中文| 国产亚洲a∨片在线观看| 色噜噜亚洲精品中文字幕| 色阁综合伊人av| 国外成人在线视频| 国产精品永久免费| 欧美日韩黄色大片| 久久天堂电影网| 国产精品女视频| 欧美日韩一区二区在线| 法国裸体一区二区| 欧美日韩在线观看视频| 91人人爽人人爽人人精88v| 欧美专区福利在线| 91精品国产亚洲| 成人黄色免费片| 欧美一性一乱一交一视频| 全亚洲最色的网站在线观看| 欧美成年人视频网站欧美| 欧美性猛交xxxx偷拍洗澡| 日韩有码在线播放| 伊人伊成久久人综合网小说| 欧美伦理91i| 亚洲图片欧洲图片av| 一道本无吗dⅴd在线播放一区| 色哟哟亚洲精品一区二区| 青青草原成人在线视频| 欧美性猛交xxxxx免费看| 久久精品国产亚洲精品2020| 日韩免费在线观看视频| 日韩一中文字幕| 欧美性猛交xxxxx水多| 色婷婷av一区二区三区久久| 亚洲片在线资源| 韩国三级日本三级少妇99| 欧美在线视频免费观看| 成人性生交大片免费看小说| 中文字幕精品在线| 成人av色在线观看| 日韩精品视频在线免费观看| 亚洲欧美日韩国产成人| 欧美影院成年免费版| 亚洲成人av中文字幕| 久久精品国产综合| 久久久精品在线| 久久久久久一区二区三区| 亚洲第一av网站| 亚洲大尺度美女在线| 日本精品一区二区三区在线播放视频| 国产精品白丝jk喷水视频一区| 日本精品久久电影| 亚洲综合中文字幕在线| 日韩激情片免费| 亚洲一品av免费观看| 久久精品国产欧美激情| 国产精品99导航| 亚洲精品福利免费在线观看| 亚洲黄一区二区| 国产91精品久| 国产亚洲免费的视频看| 色综合伊人色综合网| 美女国内精品自产拍在线播放| 欧美另类极品videosbest最新版本| 91精品国产综合久久香蕉最新版| 久久精品视频导航| 欧美老女人在线视频| 岛国精品视频在线播放| 尤物99国产成人精品视频| 黄网动漫久久久| 亚洲二区在线播放视频| 欧美成aaa人片在线观看蜜臀| 久久中文久久字幕| 精品久久久久久| www.日韩av.com| 亲子乱一区二区三区电影| 亚洲国产欧美一区二区丝袜黑人| 日本成熟性欧美| 国产精品69精品一区二区三区| 最近2019好看的中文字幕免费| 成人免费在线视频网址| 亚洲国产精品电影在线观看| 亚洲v日韩v综合v精品v| 亚洲aaaaaa| 久久久黄色av| 国产一区二区香蕉| 欧美老女人bb| 国产一区二区久久精品| 欧美在线视频导航| 久久久久久久影院| 中文字幕日韩av电影| 欧美性感美女h网站在线观看免费| 亚洲九九九在线观看| 久久婷婷国产麻豆91天堂| 成人av.网址在线网站| 亚洲视频第一页| 亚洲free性xxxx护士白浆| 欧美日韩精品在线观看| 亚洲国产三级网| 亚洲午夜未删减在线观看| 色综合色综合网色综合| 国产精品一区二区久久国产| 欧美国产日韩xxxxx| 成人激情视频在线观看| 欧美成人精品h版在线观看| 亚洲电影天堂av| 中文字幕亚洲综合久久筱田步美| 亚洲va久久久噜噜噜| 亚洲国产精品国自产拍av秋霞| 欧美日韩亚洲高清| 欧美老少做受xxxx高潮| 日韩美女av在线| 亚洲影院色无极综合| 日本久久久久久久久| 日韩大陆欧美高清视频区| 在线亚洲欧美视频| 精品久久久久久中文字幕大豆网| 综合国产在线视频| 亚洲一区二区三区视频播放| 亚洲欧美国产日韩中文字幕| 亚洲色图第三页| 日韩精品欧美激情| 57pao成人永久免费视频| 韩剧1988在线观看免费完整版| 久久久av电影| 国产精品黄视频| 亚洲精品v欧美精品v日韩精品| 精品国产成人av| 日韩av免费在线| 欧美疯狂xxxx大交乱88av| 久久躁日日躁aaaaxxxx| 青青青国产精品一区二区| 国产狼人综合免费视频| 91精品国产99| 日韩电影大片中文字幕| www高清在线视频日韩欧美| 欧美夫妻性视频| 1769国内精品视频在线播放| 亚洲尤物视频网| 91美女片黄在线观| 久久久久久成人精品|