抓取jsp网页源代码(BBS采集多为3P代码为多(3))

优采云 发布时间: 2021-11-14 21:22

  抓取jsp网页源代码(BBS采集多为3P代码为多(3))

  爬取网页内容,通常人们认为他们从互联网上窃取数据,然后将采集到的数据挂在自己的互联网上。其实你也可以将采集收到的数据作为公司的参考,或者将采集到的数据与你公司的业务进行对比等。

  目前网页采集多为3P代码(3P即ASP、PHP

  , JSP)。最常用的系统是BBS新闻采集系统,以及网上流传的新浪新闻采集系统。全部使用ASP程序,但理论上速度不是很好。

  如果尝试使用其他软件的多线程采集,会不会更快?答案是肯定的。可以用DELPHI、VC、VB、JB,但是PB好像比较难做。下面用DELPHI来解释采集

  网页数据。

  一、 简单新闻采集

  新闻 采集 是最简单的,只要确定标题、副主题、作者、来源、日期、新闻正文和分页符即可。必须在采集之前获取网页内容,所以在DELPHI中添加idHTTP控件(在indyClients面板中),然后使用idHTTP1.GET方法获取网页内容,声明如下:

  函数获取(AURL:字符串):字符串;超载;

  AURL 参数是一个字符串类型,它指定一个 URL 地址字符串。函数return也是字符串类型,返回网页的HTML源文件。例如,我们可以这样调用:

  tmpStr:= idHTTP1.Get('');

  调用成功后,网易首页代码存放在tmpstr变量中。

  接下来说一下数据拦截。在这里,我定义了这样一个函数:

  functionTForm1.GetStr(StrSource,StrBegin,StrEnd:string):string;

  无功

  in_star,in_end:整数;

  开始

  in_star:=AnsiPos(strbegin,strsource) 长度(strbegin);

  in_end:=AnsiPos(strend,strsource);

  结果:=复制(strsource,in_sta,in_end-in_star);

  结尾;

  StrSource:字符串类型,表示HTML源文件。

  StrBegin:字符串类型,表示截取开始的标志。

  StrEnd:字符串,表示截取结束的标志。

  该函数将字符串 StrSource 中的一段文本从 StrSource 返回到 StrBegin。

  例如:

  strtmp:=TForm1.GetStr('A123BCD','A','BC');

  运行后strtmp的值为:'123'。

  关于函数中使用的AnsiPos和copy,都是系统定义的。您可以在delphi的帮助文件中找到相关说明。我这里也简单说一下:

  函数 AnsiPos(const Substr, S: string): 整数

  返回 Substr 在 S 中第一次出现的位置。

  函数复制(strsource,in_sta,in_end-in_star):字符串;

  返回字符串strsource 中从in_sta(整数数据)到in_end-in_star(整数数据)的字符串。

  有了上面的功能,我们就可以通过设置各种标签来拦截想要的文章内容。在程序中,比较麻烦的是我们需要设置很多标签。要定位某个内容,您必须设置

  它的开始和结束标志。例如,要获取网页上的文章标题,必须提前查看网页代码,查看文章标题前后的一些特征码,利用这些特征码拦截文章 标签。

  题。

  下面我们来实际演示一下。假设采集的文章地址是

  代码是:

  新页面 1

  文章标题

  ercolor="#111111"

  >

  作者

  出处

  这是文章的内容。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线