欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

正则方式的自动小偷抓网程序

时间:2021-09-01 08:59:35|栏目:.NET代码|点击:
有一些瑕疵没时间细化,只是实现了效果,大家看一看这个正则该怎么写好:
URL:http://news.szhome.com/83642.html
内容:
复制代码 代码如下:

object></div></div>
</div>

<div class="share"><div class="linkshare" style="right: 0">

这两个标记之间的代码。END标记的问题解决了,但是郁闷的是START截取的标记因为第二个DIV和第三个中间有换行,我无语了不知道怎么处理这个正则。
而且郁闷的是有多处有这种重复型标记,对正则不太熟悉,我的解决方法如下:

复制代码 代码如下:

MatchCollection mc = Regex.Matches(ghoPage.Trim(), @"(?<=<div class=['""]txtmsg['""]>)[\s\S]*?(?=<div class=['""]share['""]><div class=)", RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);
foreach (Match mm in mc)
{
sb.Append(mc[0].Value.Substring(1933, mc[0].Value.Length - 1933));
}

我算出截取出来多处两个FLASH广告DIV的长度是1933,然后处理字符串截取后得到我想要的文本,这样做的劣势就是万一该站改变了两个FLASH广告DIV的长度我获取的数据就不是完整的呢,有兴趣的研究下,看看换行的DIV正则问题怎么处理。
里面用到了自己写的一个BUTTON控件,可以在点击后禁止重复点击,然后就是一些判断,在思路上蛮不错,可以做到一直抓取,因为不经常用就没做成WINDOWS服务类型,这样的程序可以做成WINDOWS服务,把规则写在INI文件中,抓录的规则和正则也放在配置文件中,这样就能实现自动抓录。

很短的代码,对这种抓录有兴趣的朋友可以尝试下。下载

上一篇:基于c# Task自己动手写个异步IO函数

栏    目:.NET代码

下一篇:C# 基础入门--关键字

本文标题:正则方式的自动小偷抓网程序

本文地址:http://www.codeinn.net/misctech/171510.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有