asp 采集实战代码_应用技巧

最近实在是太流行采集了,本人是不喜欢采集的,但对采集的原理我却很有兴趣进行研究,拿到了网上采集常用函数,对其进行了一番研究,并实战,结果成功,撇开效率问题,采集原理并不复杂,大家可以在搜索吧输入“采集”查看其原理。下面是一个采集的例子:

复制代码 代码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Response.CodePage=65001%> 
<% Response.Charset="UTF-8" %> 
<%Server.Scripttimeout=9999999
response.expires = 0 
response.expiresabsolute = Now() - 1 
response.addHeader "pragma","no-cache" 
response.addHeader "cache-control","private" 
Response.CacheControl = "no-cache"
%> 
<% 
'声明取得目标信息的函数,通过XML组件进行实现。 
Function GetURL(url) 
Set Retrieval = server.createobject("MSXML2.XMLHTTP")
With Retrieval 
.Open "GET", url, False 
.Send 
If .Status<>200 then '判断文档是否已经解析完,以做客户端接受返回消息 
exit function 
End If 

' 二进制转字符串
GetURL = sTb(.responsebody) 
end with
'对取得信息进行验证,如果信息长度小于100则说明截取失败 
End Function 

' 二进制转字符串,否则会出现乱码的! 
Function sTb(vin)
Const adTypeText = 2
Dim BytesStream,StringReturn
Set BytesStream = Server.CreateObject("ADODB.Stream")
With BytesStream
.Type = adTypeText
.Open
.WriteText vin
.Position = 0
.Charset = "GB2312"
.Position = 2
StringReturn = .ReadText
.Close
End With
Set BytesStream = Nothing
sTb = StringReturn
End Function 

Function Newstring(Wstr,Strng) 
 Newstring=Instr(Lcase(Wstr),Lcase(Strng)) 
 If Newstring<=0 Then Newstring=Len(Wstr) 
End Function 

'声明截取的格式,从Start开始截取,到Over为结束 
Function GetKey(HTML,Start,Over) 
 Start=Newstring(HTML,start) 
 Over=Newstring(HTML,Over) 
 GetKey=Mid(HTML,Start,Over-start) 
End Function 

Dim Softid,Url,Html,Title 
'采集百度知道
For i = 1 to 100
Url="http://zhidao.baidu.com/question/10000"&i&".html"
Html = GetURL(Url) 
Question = GetKey(Html,"<cq>","</cq>") 
Answer = GetKey(Html,"<ca>","</ca>")

Response.Write(Question&"<br />")
Response.Write(Answer)
Response.Write("采集成功")
Next
'打开数据库,准备入库 
'dim connstr,conn,rs,sql 
'connstr="DBQ="+server.mappath("db1.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" 
'set conn=server.createobject("ADODB.CONNECTION") 
'conn.open connstr 
'set rs=server.createobject("adodb.recordset") 
'sql="select [列名] from [表名] where [列名]='"&Title&"'" 
'rs.open sql,conn,3,3 
'if rs.eof and rs.bof then 
'rs("列名")=Title 
'rs.update 
'set rs=nothing 
'end if 
'set rs=nothing 
%>

时间: 2024-07-31 15:54:27

asp 采集实战代码_应用技巧的相关文章

asp 采集实战代码

最近实在是太流行采集了,本人是不喜欢采集的,但对采集的原理我却很有兴趣进行研究,拿到了网上采集常用函数,对其进行了一番研究,并实战,结果成功,撇开效率问题,采集原理并不复杂,大家可以在搜索吧输入"采集"查看其原理.下面是一个采集的例子: 复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Response.CodePage=65001%>  <% Respo

asp 简单分页代码_应用技巧

复制代码 代码如下: <% set rs=server.createobject("adodb.recordset") exce="sql" 'sql 查询语句 rs.open exce,conn,1,1 %> 然后是分页属性的设置 <% rs.PageSize=3 '设置页码 pagecount=rs.PageCount '获取总页码 page=int(request("page")) '接收页码 if page<=0

ASP批量更新代码_应用技巧

<!--#include file="../Conn.asp"--> <% set rs=server.createobject("adodb.recordset") sql="select * from article where bigtypes='我爱你'order by id desc"   找出数据库内类别为我爱你的所有数据 rs.open sql,conn,1,3 if not rs.eof then do whil

定期自动运行ASP程式的代码_应用技巧

前言  常有人希望在某個特定時間,可以自動某支 ASP 程式,進行某項作業,比如:發電子信.資料庫整理等.  方法  一.你可以去找 aspexe 元件來使用  二.你可以使用 WSH的方式來處理.以下文章是轉載至某個大陸網站(我已經忘了出處了-)  WSH 基本上和 ASP 的寫法是一樣的除了  不需加上 ASP 分隔符號  存檔的副檔名為 .vbs  由於不是使用 asp.dll , 因此沒有 ASP 的物件模式並不適用  無法使用伺服端包含, 因此一些 ADO 常數需自行宣告  '請勿用 

ip138之asp小偷程序代码_应用技巧

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title> >> 手机号码查询 </title> <meta name="generator" content=""> <style type="text/cs

asp 数据库连接函数代码_应用技巧

以下是SQL连接代码: 复制代码 代码如下: Function Open_conn() dim Conn,Strconn set Conn=server.createobject("adodb.connection") Strconn = "Provider = Sqloledb; User ID = 数据库登录帐号; Password = 数据库登录密码; Initial Catalog = 数据库名称; Data Source = (local);" Conn.

asp中通过getrows实现数据库记录分页的一段代码_应用技巧

<%@ Language = VBSCRIPT %> <% Option Explicit %> <% rem 在asp中通过getrows实现数据库记录分页的一段代码 Dim iStart, iOffset iStart = Request("Start") iOffset = Request("Offset")  if Not IsNumeric(iStart) or Len(iStart) = 0 then iStart = 0

asp万用分页程序代码_应用技巧

这只是个asp小技巧类的东西,它虽然适合在每个不同文件名里调用这个函数,但是也是有前提的,下面让我们来仔细看看其中的原委. 下面这段是基本的分页代码: <% sql = "select--------省略了sql语句 Set rs=Server.Createobject("ADODB.RECORDSET") rs.Open sql, conn, 1, 1 if not rs.eof then pages = 30 '定义每页显示的记录数 rs.pageSize = pa

asp 由动态网页转变为静态网页的实现代码_应用技巧

具体代码实现: 1.模板文件(html) 复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>{title} - 新闻中心 - 哎呀呀饰品加盟连锁</title>