仓酷云

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

[学习教程] ASP.NET教程之用.net完成远程猎取其他网站页面内容

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:36:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
不过你如果学.net的话,你就不要选os了,这课比较底层的。你可以旁听数据库加上软件构件和中间件。(webservices和面向服务的课也应该听一听)页面  远程猎取网页内容.经由必定的处置和天真使用,能够开辟成成系统网站内容收罗体系.一般也叫做"旧事小偷"一样平常来讲.做内容收罗分为以下几个大抵的步骤:
  1.远程猎取页面的全体Html源文本.
  2.经由过程过滤处置,剖析无效内容文本.(一般用正则表达式来截取无效数据)
  3.将格局无效的数据,依据本人的数据库布局分题目,内容....一些其他属性保留到本人的当地数据库.
  ok全部收罗历程云云复杂.道理也不难.上面我们看看完成的详细基本代码!
  起首我们来写一个猎取远程Html源的办法.
publicstringGetHttpData(stringUrl)
{
stringsException=null;
stringsRslt=null;
WebResponseoWebRps=null;
WebRequestoWebRqst=WebRequest.Create(Url);
oWebRqst.Timeout=50000;
try
{
oWebRps=oWebRqst.GetResponse();
}
catch(WebExceptione)
{
sException=e.Message.ToString();
EYResponse.Write(sException);
}
catch(Exceptione)
{
sException=e.ToString();
EYResponse.Write(sException);
}
finally
{
if(oWebRps!=null)
{
StreamReaderoStreamRd=newStreamReader(oWebRps.GetResponseStream(),Encoding.GetEncoding("GB2312"));
sRslt=oStreamRd.ReadToEnd();
oStreamRd.Close();
oWebRps.Close();
}
}
returnsRslt;
}
  以上代码为猎取远程Html源的一个办法.参数仅一个.就是你要猎取的方针页面的完全Url路径.前往一个string范例的Html源数据.
  上面我们再来持续第二个步骤.剖析本人必要的无效数据!这里我假定某个页面来做剖析...
publicstring[]GetData(stringHtml)
{
String[]rS=newString[2];
strings=Html;
s=Regex.Replace(s,"s{3,}","");
s=s.Replace("","");
s=s.Replace("
","");
stringPat="<tdalign="center"class="24p"><B>(.*)</B></td></tr><tr>.*(<tablewidth="95%"border="0"cellspacing="0"cellpadding="10">.*</table>)<tablewidth="98%"border="0"cellspacing="0"cellpadding="0">(.*)<tdalign=centerclass=l6h>";
RegexRe=newRegex(Pat);
MatchMa=Re.Match(s);
if(Ma.Success)
{
rS[0]=Ma.Groups[1].ToString();
rS[1]=Ma.Groups[2].ToString();
pgStr=Ma.Groups[3].ToString();
}
returnrS;
}
  这个办法也很复杂.次要功效实时截取猎取过去的Html源.获得本人必要的数据...
  参数是一个string范例的.将我们猎取的html源经由过程参数传送过去.
  在办法类经由过程一个正则的形式婚配找到题目和内容的地位并掏出来.存进一个string的数组给办法前往...今后的事我就未几说了..你只需把你掏出来的数据存到你数据库对应的字段就ok了!
实不相瞒,Java是我见过的执行效率最低的程序设计语言,前不久在CSDN论坛上有个评测,计算9999的阶乘,同样的循环算法,Java的耗时是.NET的5倍。
沙发
发表于 2015-1-19 18:06:21 | 只看该作者
ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。
精灵巫婆 该用户已被删除
板凳
发表于 2015-1-27 05:16:11 | 只看该作者
CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
只想知道 该用户已被删除
地板
发表于 2015-2-5 01:29:11 | 只看该作者
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
小女巫 该用户已被删除
5#
发表于 2015-2-11 00:47:27 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
老尸 该用户已被删除
6#
发表于 2015-3-1 19:11:35 | 只看该作者
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
若相依 该用户已被删除
7#
发表于 2015-3-10 22:32:20 | 只看该作者
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
再现理想 该用户已被删除
8#
发表于 2015-3-17 11:36:22 | 只看该作者
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
小魔女 该用户已被删除
9#
发表于 2015-3-24 09:23:43 | 只看该作者
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-22 18:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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