2007-2-23 17:40 admin
ASP采集教程

[b]ASP采集教程_基础篇1[/b]发布日期: 2006-12-16 11:22:54 作者: kittenchen 出处:CRXB  人气:0 字体

ASP采集教程_基础篇
    做一个好的教程就是要让人看懂,我早先买教程书看到第一章千篇一律都是计算机发展史再加历史回顾和前景展望,烦死。
所以本教程就不讲一些没用的东西了,直接转入正题(我的风格),大家有什么问题可以联系
我的QQ:15057835.
也可以到我的小站:
软  件  站:http://www.cf008.com/
    ASP采集其它就是利用微软自带的XMLHTTP组件取得远程页面的源代码,再经过程序的过滤替换处理转换成我们想要的数据。我们也不管用什么,反正我教你的就是用一段代码取得目标代码,  再把目标代码加工一下。然后直接显示啊还是写入数据库。就这么简单!
引用组件CreateObject("Microsoft.XMLHTTP")  --->取得目标代码(get) ---> 数据处理(截取,过滤,替换) --->  直接显示(小偷)或 写入数据库(采集)
说了这么多是要开始实战了.
     二话不说,先写个刚刚讲到的引用组件和取得代码的函数
    ' 获取远程HTML
    Function GetURL(url)
            Set Retrieval = CreateObject("Microsoft.XMLHTTP")
            With Retrieval
                .Open "GET", url, False
               .Send
               GetURL = .responsebody
            if len(.responsebody)<100 then
                response.write "获取远程文件 <a href="&url&" target=_blank>"&url&"</a> 失败。"
                response.end
            end if
            End With
            Set Retrieval = Nothing
        End Function
上面这段函数的URL值就是我们的目标网页,也就是要偷的页面了。
当然我们得到的代码是以二进制返回给我们的,那我们得把他转换成我们要的字符,怎么办?
怕什么?我自己不会写难道还不会上网找啊。找到了,怎么实现的我们当然不管它了,只要能用就行了,函数代码如下:
' 二进制转字符串
function bytes2bstr(vin)
       strreturn = ""
       for i = 1 to lenb(vin)
       thischarcode = ascb(midb(vin,i,1))
       if thischarcode < &h80 then
              strreturn = strreturn & chr(thischarcode)
       else
              nextcharcode = ascb(midb(vin,i+1,1))
              strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
              i = i + 1
       end if
       next
       bytes2bstr = strreturn
end function
OK!
有了这两个函数基本上可以实现简单的小偷了。
我今天就找天空的软件资讯开刀,地址是: [url=http://www.skycn.com/article/index_article.html][color=#0000ff]http://www.skycn.com/article/index_article.html[/color][/url]
开工:
1,建立一个ASP文件,我建的是index.asp
<%
%>
先写好啊,要养成这样的习惯哦。
定义一下地址和调用函数
dim url,html
    url="[url=http://www.skycn.com/article/index_article.html][color=#0000ff]http://www.skycn.com/article/index_article.html[/color][/url]"
    Html=GetURL(url) '把地址url传递到GetURL这个函数
       Html=Bytes2BStr(Html) '二进制转换成字符一下
再把刚刚两个函数写进去
最后看一下是否偷到了,我们response一下
Response.write html
整个文件内容就是:
<%
On Error Resume Next
Server.ScriptTimeOut=9999999
dim url,html
    url="[url=http://www.skycn.com/article/index_article.html][color=#0000ff]http://www.skycn.com/article/index_article.html[/color][/url]"
    Html=GetURL(url) '把地址url传递到GetURL这个函数
       Html=Bytes2BStr(Html) '二进制转换成字符一下
' 获取远程HTML
Function GetURL(url)
    Set Retrieval = CreateObject("Microsoft.XMLHTTP")
    With Retrieval
        .Open "GET", url, False
        .Send
        GetURL = .responsebody
       if len(.responsebody)<100 then
              response.write "获取远程文件 <a href="&url&" target=_blank>"&url&"</a> 失败。"
              response.end
       end if
    End With
    Set Retrieval = Nothing
End Function
' 二进制转字符串
function bytes2bstr(vin)
       strreturn = ""
       for i = 1 to lenb(vin)
       thischarcode = ascb(midb(vin,i,1))
       if thischarcode < &h80 then
              strreturn = strreturn & chr(thischarcode)
       else
              nextcharcode = ascb(midb(vin,i+1,1))
              strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
              i = i + 1
       end if
       next
       bytes2bstr = strreturn
end function
Response.write html
%>
试了一下,果真取到了。有图为证:
[img]http://www.crxb.com/uploadfiles/2006-12-16/20061216_115725_695.jpg[/img]
为什么我们得到的内容图片啊链接啊什么的都不会对呢?
那是因为我们只是仅仅得到目标的源码代并在我们的文件上显示而已。
怎么才能显示正确的图片和正确的链接呢,那就是我们下一篇要讲的数据处理部分了
如何?学到了吗?换其它地址试试!!

2007-2-23 17:42 admin
ASP采集教程_基础篇2-最基本的数据处理ASP采集教程_基础篇2-最基本的数据处理
    上次说到哪了?好像只说到如何得到目标地址并得到代码和显示出来。这样得到的当然是不能用的了。我们现在
就来学一下把得到的数据做一个最基本的数据处理吧.
    OK!开始!   
    那天刚好在站长站里看到有个人想要一个杀毒软件的小偷页面,说是要丁香鱼的瑞星更新小偷(怎么不来找我呢,有时间给你写一个嘛
不过你只要看了我的教程,以后不要说丁香鱼了,其它的鱼一样偷),那我们就把丁香鱼拿来开刀。
    丁香鱼网址:[url=http://www.luckfish.net/rising.htm][color=#0000ff]http://www.luckfish.net/rising.htm[/color][/url]
记不记得我上次的代码啊,里面有几个函数,现在我把它们都放入一个文件function.asp,目的是为了以后方便改啊,添加功能什么的
我也不懂啦,个人认为就是好看,不会乱。
--------------------------------
function.asp:
<%
' 获取远程HTML
Function GetURL(url)
    Set Retrieval = CreateObject("Microsoft.XMLHTTP")
    With Retrieval
        .Open "GET", url, False
        .Send
        GetURL = .responsebody
if len(.responsebody)<100 then
  response.write "获取远程文件 <a href="&url&" target=_blank>"&url&"</a> 失败。"
  response.end
end if

    End With
    Set Retrieval = Nothing
End Function
' 二进制转字符串
function bytes2bstr(vin)
strreturn = ""
for i = 1 to lenb(vin)
thischarcode = ascb(midb(vin,i,1))
if thischarcode < &h80 then
  strreturn = strreturn & chr(thischarcode)
else
  nextcharcode = ascb(midb(vin,i+1,1))
  strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
  i = i + 1
end if
next
bytes2bstr = strreturn
end function

Function getcontent(HTML,starcode,endcode)
   dim StartPos,EndPos,Length
StartPos=Instr(1,HTML,starcode)
EndPos=Instr(StartPos,HTML,endcode)
Length=EndPos-StartPos
getcontent=Mid(HTML,StartPos,Length)
End Function
%>

    前面两个函数我就不讲了,讲一下getcontent,这个函数的作用就是截取我们想要的代码,就叫截取吧。
    解释一下里面用到的VB函数
    Instr:
    返回某字符串在另一字符串中第一次出现的位置(vb script没学好的要抓紧补啊同志们) 。
    Mid:
    从字符串中返回指定数目的字符。
    这样大家就比较好理解了吧,html是我们得到的网页整个源码,starcode是我们要截取的代码开始,endcode自然就是我们要截取的结束了
    我们先通过starcode和endcode来指定我们要截取的位置,再用mid取出来。上面讲的都是理论的
    等下通过实际的应用我们会更好理解的。
    ---------------
    建一个ASP文件rising.asp作为小偷的主文件。记不记得上次得到源码的几个代码,现在可以用上了。
    rising.asp:

<!-- #include file="function.asp" -->
<%

On Error Resume Next
Server.ScriptTimeOut=9999999
dim url,html,starcode,endcode
    url="http://www.luckfish.net/rising.htm" '我们要偷的页面地址
    Html=GetURL(url) '把地址url传递到GetURL这个函数
Html=Bytes2BStr(HTML) '二进制转换成字符一下
starcode="<td><div align=""center""></div></td>" '我们并不是偷网页的全部,因为前面的东西我们不要嘛,所以从这里开始,代码不能重复哦
endcode="<td colspan=""2""><div align=""center"">"'和上面一样,我们尾部也不要,这里是结束的部分,代码要唯一,我们要的就是上面和这里的中间部分
content=getcontent(HTML,starcode,endcode) '赋值完毕了我们就调用一下这个函数,等于是参数传递一下
content=replace(content,"images/","http://www.luckfish.net/images/")'这里是另外一个替换操作,下面给你们讲
Response.write content '输出内容
%>
主要说一下
    replace:
    返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。
这个就是把代码中我们不想要的换成我们想要的,或直接换成空,下面是一个例子
Dim MyString

MyString = Replace("XXpXXPXXp", "p", "Y") '二进制比较从字符串左端开始。返回 "XXYXXPXXY"。
上面XXpXXPXXp的p就被换成了Y吧,如果换成空:
MyString = Replace("XXpXXPXXp", "p", "") '二进制比较从字符串左端开始。返回 "XXXXPXX"。
那上面XXpXXPXXp的p就不见了。简单吧。
我们例子里因为有图片,路径如果不处理一下,图片就无法正常显示,所以我们把"images/"换成了"http://www.luckfish.net/images/"绝对路径
还有哦,他们里面有一个引用javescript,我们在rising.asp的最前面也引用一下,是关于版本的
<script language=javascript src="http://www.rising.com.cn/service/javascript/RsProVer.js"></script>
OK!我看一下效果哦。



好了,成功了。第二课也讲完了,你们可以去试试其它页面啊,或可以用这几个函数取不同的值来练练手。
好了,等第三课吧

2008-10-10 18:20 晨雾飞翔
安徽广德经济开发区70亩土地合作开发或租售

安徽广德经济开发区70亩土地合作开发或租售
某公司有优价土地资源,诚招合作者。土地面积约为70亩(已获得国有土地出让证),位于苏、浙、皖交界处-广德经
济开发区(省级)核心地段,靠近申苏浙皖高速出入口,政策优惠,商务成本优势明显,距离南京、杭州、上海均仅2小
时左右车程。现该土地资源诚招优质合作项目,亦可转让。联系人:胡先生,联系电话15061518711。


投资环境
     独特的区位优势。广德经济开发区位于苏浙皖三省八县市结合部,地处中国经济实力最强、产业规模最大、人口密
度最高、城镇数量最多的经济核心区—长江三角洲西翼,是皖东南的交通枢纽和政治、经济、文化中心,素有三省通衢
”之称,距上海、杭州、南京、合肥、无锡、苏州、黄山等大中城市均在200公里左右。
     便捷的交通运输。318国道穿境而过,合杭高速、宣杭铁路两条交通大动脉紧紧环抱着开发区,环绕四周的上海虹
桥机场、南京禄口机场、杭州萧山机场、合肥骆岗机场及京杭大运河,为广德经济开发区物流畅通和经济发展提供了优
越的条件。
    优越的投资条件。广德县劳动力资源丰富,投资成本低廉,劳动力素质较高。全县外出务工人员5万人,现有剩余劳
动力10万人,一般职工平均工资900元/月左右;开发区内日供水达3万吨;区内拥有35KV和110KV两座变电所,工业用电
实行峰谷电价;用地成本远远低于华东沿海地区。
   
扶持政策
 财税方面
  1、对新建固定资产一次性投入超过500万元的鼓励类工业项目(不含矿产资源开发类项目),自投产之日起企业申
报缴纳的增值税和所得税地方分成部分实行“前2年全额扶持、后3年减半扶持”。
  2、对固定资产一次性投入超过500万元的优质高效种植、养殖和林产品深度开发、农副产品深加工项目,在享受前
款规定的扶持政策期满后,对其申报缴纳的增值税和所得税地方分成每年新增部分由县政府再减半扶持3年。
  3、对固定资产一次性投入超过1000万元的旅游项目,自建成投产后,其申报缴纳的企业所得税地方分成部分实行“
前2年全额扶持、后3年减半扶持”。
  4、对新建固定资产一次性投入超过2000万元的大型仓储配送基地、专业特色市场、连锁经营超市等,其申报缴纳
的企业所得税地方分成部分实行“前3年全额扶持、后2年减半扶持”。
  详见广德开发区网站,网站地址:[url=http://www.gdedz.cn/]www.gdedz.cn[/url]

页: [1]
查看完整版本: ASP采集教程


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.