仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 599|回复: 7
打印 上一主题 下一主题

[学习教程] ASP网页编程之ASP小偷(远程数据猎取)程序的进门教程

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-16 23:49:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
当然了,现在国内CRM厂商的产品与其说是CRM,但从至少从我的角度分析上来看,充其量只是一个大型的进销存而已了,了解尚浅,不够胆详评,这里只提技术问题程序|教程|进门教程|数据|进门教程这里所说的“小偷”指的是在ASP中使用XML中的XMLHTTP组件供应的壮大功效,把远程网站上的数据(图片,网页及其他文件)抓取到当地,经由各类处置后显现到页面上大概存储进数据库的一类程序。你能够经由过程这类小偷程序,完成已往一些仿佛完整不成能完成的义务,好比说把某个站的页面移花接木后酿成本人的页面,大概把某个站的一些数据(文章,图片)保留到当地数据库中加以使用。“小偷”的长处有:不必保护网站,由于小偷程序中的数据来自其他网站,它将跟着该网站的更新而更新;能够节俭大批的服务器资本,一样平常小偷程序就几个文件,一切网页内容都是来自其他网站。弱点在于:不不乱,假如方针网站堕落,程序也会堕落,并且,假如方针网站举行晋级保护,那末小偷程序也要举行响应修正;速率,由于是远程挪用,速率和在当地服务器上读取数据比起来,一定要慢一些。怎样,听起来很奇妙吧?我们如今就入手下手来进修一些“小偷”程序的进门常识吧!<BR><BR>我们拿个复杂点的器材来研讨一下吧,QQ网站上的天色预告程序<BR><BR>代码以下:<BR><BR><%<BR>OnErrorResumeNext<BR>Server.ScriptTimeOut=9999999<BR>FunctiongetHTTPPage(Path)<BR>t=GetBody(Path)<BR>getHTTPPage=BytesToBstr(t,"GB2312")<BR>Endfunction<BR><BR>’起首,举行小偷程序的一些初始化设置,以上代码的感化分离是疏忽失落一切非致命性毛病,把小偷程序的运转超不时间设置得很长(如许不会呈现运转超时的毛病),转换本来默许的UTF-8编码转换成GB2312编码,不然间接用XMLHTTP组件挪用有中笔墨符的网页失掉的将是乱码。<BR><BR>FunctionGetBody(url)<BR>onerrorresumenext<BR>SetRetrieval=CreateObject("Microsoft.XMLHTTP")<BR>WithRetrieval<BR>.Open"Get",url,False,"",""<BR>.Send<BR>GetBody=.ResponseBody<BR>EndWith<BR>SetRetrieval=Nothing<BR>EndFunction<BR><BR>’然后挪用XMLHTTP组件创立一个工具并举行初始化设置。<BR><BR>FunctionBytesToBstr(body,Cset)<BR>dimobjstream<BR>setobjstream=Server.CreateObject("adodb.stream")<BR>objstream.Type=1<BR>objstream.Mode=3<BR>objstream.Open<BR>objstream.Writebody<BR>objstream.Position=0<BR>objstream.Type=2<BR>objstream.Charset=Cset<BR>BytesToBstr=objstream.ReadText<BR>objstream.Close<BR>setobjstream=nothing<BR>EndFunction<BR><BR>FunctionNewstring(wstr,strng)<BR>Newstring=Instr(lcase(wstr),lcase(strng))<BR>ifNewstring<=0thenNewstring=Len(wstr)<BR>EndFunction<BR><BR>’处置抓取返来的数据必要挪用adodb.stream组件并举行初始化设置。%><BR><BR>’以下即为页面显现部分<BR><BR><%<BR>Dimwstr,str,url,start,over,city<BR>’界说一些必要利用到的变量<BR><BR>city=Request.QueryString("id")<BR>’程序传回的ID变量(即用户选择的乡村)赋给id<BR><BR>url="http://appnews.qq.com/cgi-bin/news_qq_search?city="&city&""<BR>’这里设置必要抓取的页面地点,固然你也能够间接指定某个地点而不利用变量<BR><BR>wstr=getHTTPPage(url)<BR>’猎取指定页面的全体数据<BR><BR>start=Newstring(wstr,"<html>")<BR>’这里设置必要处置的数据的头部,这个变量应视分歧情形而设置,详细内容能够经由过程检察必要抓取的页面的源代码来断定。由于在这个程序里我们必要抓取全部页面,以是设置为页面全体抓取。注重,设置的内容必需是页面内容独一的,不成以反复。<BR><BR>over=Newstring(wstr,"</HTML>")<BR>’和start绝对应的就是必要处置的数据的尾部,一样的,设置的内容必需是页面中独一的。<BR><BR>body=mid(wstr,start,over-start)<BR>’设置显现页面的局限<BR><BR>’上面就是动用天地移动+++的时分了,经由过程replace能够用一些字符交换失落数据中指定的字符。<BR><BR>body=replace(body,"skin1","天色预告-斯克收集")<BR>body=replace(body,"http://appnews.qq.com/cgi-bin/news_qq_search?city","tianqi.asp?id")<BR><BR>’本程序中已完成了交换的事情,假如有其他必要的话能够持续举行相似的交换操纵。<BR><BR>response.writebody<BR>%><BR><BR>交换完必要修正的内容后,就能够把修正的内容显现在页面上了。至此程序停止<BR><BR><BR>程序利用办法及了局:把上述代码往失落申明部分后保留为tianqi.asp,上传到撑持ASP和XML的空间下,在扫瞄器中运转便可。你能够在在这个程序的基本长进行进一步的界面丑化大概程序优化。<BR><BR>以上只是一些关于XMLHTTP组件的低级使用,实践上它还能完成的功效另有良多,好比说保留远程图片到当地服务器上,共同adodb.stream组件能够把猎取来的数据保留进数据库。小偷的感化和利用局限都很广。可是不成以拿来做守法的事哦!<BR><BR>大概另有人要问了,这类“小偷”程序岂非只是ASP的专利吗?非也,PHP经由过程fopen函数一样能够完成一样的效果,因为PHP自己的各类特性,写出来的小偷程序和ASP比拟,在体积和实行效力上都有者分明的上风,但限于篇幅,这里就纷歧一申明了。<BR></p><CENTER></CENTER>国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了
飘灵儿 该用户已被删除
沙发
发表于 2015-1-18 09:32:39 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
老尸 该用户已被删除
板凳
发表于 2015-1-21 15:49:11 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
海妖 该用户已被删除
地板
发表于 2015-1-30 20:35:36 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
蒙在股里 该用户已被删除
5#
发表于 2015-2-6 15:48:24 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
愤怒的大鸟 该用户已被删除
6#
发表于 2015-2-16 23:03:40 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
小女巫 该用户已被删除
7#
发表于 2015-3-5 11:16:28 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
小妖女 该用户已被删除
8#
发表于 2015-3-19 18:02:54 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-10 02:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表