国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > ASP > 正文

XMLHTTP批量抓取遠(yuǎn)程資料

2020-07-27 13:28:39
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
可以在此基礎(chǔ)上結(jié)合正則表達(dá)式做成更好的效果,希望大家能分享一下Xmlhttp的session共享技術(shù) 

<html> 
<head> 
<title>AUTOGET</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head> 
<body bgcolor="#FFFFFF" style="font-family:Arial;font-size:12px"> 
<% 
'================================================= 
'FileName: Getit.Asp 
'Intro : Auto Get Data From Remote WebSite 
'Author: Babyt(阿泰) 
'URL: http://blog.csdn.net/babyt 
'createAt: 2002-02 Lastupdate:2004-09 
'DB Table : data 
'Table Field: 
' UID -> Long -> Keep ID Of the pages 
' UContent -> Text -> Keep Content Of the Pages(HTML) 
'================================================= 

Server.ScriptTimeout=5000 

'on error resume next 
Set conn = Server.createObject("ADODB.Connection") 
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("getit.mdb") 
Set rs = Server.createObject("ADODB.Recordset") 
sql="select * from data" 
rs.open sql,conn,1,3 

Dim comeFrom,myErr,myCount 

'======================================================== 
comeFrom="http://www.xxx.com/U.asp?ID=" 
myErr1="該資料不存在" 
myErr2="該資料已隱藏" 
'======================================================== 

'*************************************************************** 
' 只需要更改這里 i 的始點(diǎn)intMin和終點(diǎn)intMax,設(shè)定步長(zhǎng)intStep 
' 每次區(qū)間設(shè)置成5萬(wàn)左右。估計(jì)要兩個(gè)多小時(shí)。期間不需要人工干預(yù) 
'**************************************************************** 
intMin=0 
intMax=10000 
'設(shè)定步長(zhǎng) 
intStep=100 

'========================================================== 
'以下代碼不要更改 
'========================================================== 
Call GetPart (intMin) 
Response.write "已經(jīng)轉(zhuǎn)換完成" & intMin & "~~" & intMax & "之間的數(shù)據(jù)" 
rs.close 
Set rs=Nothing 
conn.Close 
set conn=nothing 
%> 
</body> 
</html> 
<% 
'使用XMLHTTP抓取地址并進(jìn)次內(nèi)容處理 
Function GetBody(Url) 
Dim objXML 
On Error Resume Next 
Set objXML = createObject("Microsoft.XMLHTTP") 
With objXML 
.Open "Get", Url, False, "", "" 
.Send 
GetBody = .ResponseBody 
End With 
GetBody=BytesToBstr(GetBody,"GB2312") 
Set objXML = Nothing 
End Function 
'使用Adodb.Stream處理二進(jìn)制數(shù)據(jù) 
Function BytesToBstr(strBody,CodeBase) 
dim objStream 
set objStream = Server.createObject("Adodb.Stream") 
objStream.Type = 1 
objStream.Mode =3 
objStream.Open 
objStream.Write strBody 
objStream.Position = 0 
objStream.Type = 2 
objStream.Charset = CodeBase 
BytesToBstr = objStream.ReadText 
objStream.Close 
set objStream = nothing 
End Function 
'主函數(shù) 
Function GetPart(iStart) 
Dim iGo 
time1=timer() 
myCount=0 
For iGo=iStart To iStart+intStep 
If iGo<=intMax Then 
Response.Execute comeFrom & iGo 
'進(jìn)行簡(jiǎn)單的數(shù)據(jù)處理 
content = GetBody(comeFrom & iGo ) 
content = Replace(content,chr(34),""") 
If instr(content,myErr1) OR instr(content,myErr2) Then 
'跳過(guò)錯(cuò)誤信息 
Else 
'寫(xiě)入數(shù)據(jù)庫(kù) 
rs.AddNew 
rs("UID")=iGo 
'******************************** 
rs("UContent")=Replace(content,""",chr(34)) 
'********************************* 
rs.update 
myCount=myCount+1 
Response.Write iGo & "<BR>" 
Response.Flush 
End If 
Else 
Response.write "<font color=red>成功抓取"&myCount&"條記錄," 
time2=timer() 
Response.write "耗時(shí):" & Int(FormatNumber((time2-time1)*1000000,3)) & " 秒</font><BR>" 
Response.Flush 
Exit Function 
End If 
Next 
Response.write "<font color=red>成功抓取"&myCount&"條記錄," 
time2=timer() 
Response.write "耗時(shí):" & CInt(FormatNumber((time2-time1),3)) & " 秒</font><BR>" 
Response.Flush 
'遞歸 
GetPart(iGo+1) 
End Function%> 
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 海原县| 镇江市| 东兴市| 廊坊市| 扶沟县| 荆门市| 将乐县| 雅江县| 平顶山市| 永济市| 会理县| 东乡县| 舟山市| 沂水县| 尉犁县| 黄浦区| 洪江市| 陆丰市| 石屏县| 邻水| 武夷山市| 梁河县| 长宁区| 大丰市| 正宁县| 定南县| 英吉沙县| 攀枝花市| 新民市| 利川市| 安岳县| 朝阳县| 调兵山市| 大连市| 丰原市| 隆化县| 宁陕县| 沁水县| 乐至县| 盐津县| 仙居县|