火车采集器 免费版 html标签排除,Html代码白名单过滤插件(C#)
Html代码白名单过滤插件(C#)
作者:小文 发布于:2010-10-18 9:28 Monday
分类:免费插件
该插件将过滤掉所有除需要外的html代码.在处理前您需要使用采集器过滤js,css等代码.您可以下载该插件或是自己修改代码以达到自己的需要.
插件主要源码:
using System;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.Collections.Generic;
/*注意事项
* 1.这个命名空间不能更改.当然,你可以在其它的文件里使用其它的命名空间,在这里使用.
* 2.必须引用采集器目录下的LeWell.dll文件.
* 3.必须实现 IPlugin接口 里的 Run 方法
* 4.编写过程出请对传入传出的参数进行检测
* */
namespace LeWell.Plugins
{
public class Demo : LeWell.Plugins.IPlugin //使用的IPlugin接口,请引用 LeWell.Plugins.dll 文件
{
///
/// 插件运行处理预留方法
///
/// 要处理的源代码
/// 采集页面地址
/// 页面类型为一枚举 LeWell.Plugins.PageType ,其中List,Pages,Content,Save分别代表列表页,分页或多页,默认页,保存时
/// 页面编码
/// 网站的cookies
///
public string Run(string str, string pageurl, LeWell.Plugins.PageType pagetype, Encoding encoding, System.Net.CookieCollection cookies)
{
请在这里执行您的操作,返回string
//string result = "这个结果是单页面测试,后边的数据为程序接收到的数据:\r\n\r\n";
//result += "当前的页面网址为:" + pageurl.ToString() + "\r\n";
//result += "当前的页面类型为:" + pagetype.ToString() + "\r\n";
//result += "当前的网页编码为:" + encoding.ToString() + "\r\n";
//result += "当前网页的代码为:" + str.ToString() + "\r\n";
return str;
}
///
/// 这个是用来在最后处理采集器入库前的数据的
///
///
///
///
///
///
public Hashtable Run(Hashtable ht, string pageurl, Encoding encoding, System.Net.CookieCollection cookies)
{
System.Collections.Generic.List list = new System.Collections.Generic.List();
if (ht.ContainsKey("内容"))
{
string data = ht["内容"].ToString();
if (string.IsNullOrEmpty(data)) return ht;
list.Add("div");
list.Add("ul");
list.Add("dt");
list.Add("dl");
list.Add("dd");
list.Add("table");
list.Add("tbody");
list.Add("tr");
list.Add("td");
list.Add("p");
foreach (string s in list)
{
data = System.Text.RegularExpressions.Regex.Replace(data, "]*?>", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
data = System.Text.RegularExpressions.Regex.Replace(data, "", "ASDFGHJKL$1" + s, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
}
data = System.Text.RegularExpressions.Regex.Replace(data, "
", "QWERTYUIOPB", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
List> dic = new List>();
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex("]*?>[^", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.MatchCollection mc = regex.Matches(data);
foreach (System.Text.RegularExpressions.Match m in mc)
{
dic.Add(new KeyValuePair(m.Value, base64_encode(m.Value)));
}
regex = new System.Text.RegularExpressions.Regex("]*?>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
mc = regex.Matches(data);
foreach (System.Text.RegularExpressions.Match m in mc)
{
dic.Add(new KeyValuePair(m.Value, base64_encode(m.Value)));
}
data = System.Text.RegularExpressions.Regex.Replace(data,"]*?>", "");
foreach (KeyValuePair kv in dic)
{
data = data.Replace(kv.Value, kv.Key);
}
foreach (string s in list)
{
data = data.Replace("ASDFGHJKL" + s, "");
data = data.Replace("ASDFGHJKL/" + s, "" + s + ">");
}
data = data.Replace("QWERTYUIOPB","
");
ht["内容"] = data;
}
return ht;
}
///
///Base64加密
///
/// 返回string
public string base64_encode(string s)
{
string strResult = "";
if ((s != null) && (s != ""))
{
strResult = Convert.ToBase64String(System.Text.ASCIIEncoding.Default.GetBytes(s));
}
return strResult;
}
///
///Base64解密
///
/// 返回string
public string base64_decode(string s)
{
string strResult = "";
if ((s != null) && (s != ""))
{
int buling = s.Length % 4;
if (buling == 3) s = s + "=";
else if (buling == 2) s = s + "==";
else if (buling == 1) s = s.Substring(0, s.Length - 1);
strResult = System.Text.ASCIIEncoding.Default.GetString(Convert.FromBase64String(s));
}
return strResult;
}
}
}
附件下载:
白名单过滤插件.7z 9.21KB
标签:过滤
发表评论:
昵称
邮件地址 (选填)
个人主页 (选填)
火车采集器 免费版 html标签排除,Html代码白名单过滤插件(C#)相关推荐
- 信息采集-火车采集器
最近一位同事提出要采集alibaba上的公司信息,关键词是工业加湿器. 主管把任务分配给我后,推荐了一款软件,火车采集器(真心不是做广告). 研究了两天,还算简单,除了正则表达式似懂非懂,其他都还好, ...
- 火车采集器-对在固定网页上进行更新的文件的下载方法
遇到的案例是这样的,在http://www.xxx.com/index.html 上有多个pdf的下载连接,不定时会有新的pdf增加(下载链接有变化),现在需要监控网页变化,并下载新增加的文件. 直接 ...
- php耳朵音乐cns_PHPCNS火车采集器使用教程
火车采集器(LocoySpider) 是一个供各大主流文章系统,论坛系统等使用的多线程内容采集发布程序.使用火车采集器,你可以瞬间建立一个拥有庞大内容的网站.系统支持远程图片下载,图片批量水印,Fla ...
- python调用按键精灵插件_谈一谈火车采集器的插件使用
火车采集器.火车浏览器这两款软件大家在平常工作中应该经常使用吧,有数据采集需求和各类公司运营人员想必都亲自使用过这个软件吧! 今天小编就与大家分享下两款软件所支持的插件,并讲解下每款插件的功能.一 ...
- 网络爬虫软件(火车采集器)
网络爬虫软件(火车采集器) 软件下载:火车采集器 下载好软件后注册一个账号 安装完成后登录账号 输入起始网址 如图: 保存后点击开始 如图:
- Dedecms 火车采集器免登陆发布接口,自动生成上下篇、栏目页、首页
<?php /********密码验证***********/ $password='123456'; //这个密码是登陆验证用的.您需要在模块里设置和这里一样的密码....注意一定需要修改. ...
- 火车头采集保存html,火车头采集器用正则提取方式获取当前页面URL
火车采集器虽然能够采集到url,但如果我们内容中想要引用这个url怎么搞呢? 利用火车头采集获取当前网址url参数可以从URL里截取有用的信息发布到自己的网站上去.接下来就教大家如何获取: 火车头采集 ...
- 最大化参数 火车头_火车头采集器菜鸟使用手册
<火车头采集器菜鸟使用手册>由会员分享,可在线阅读,更多相关<火车头采集器菜鸟使用手册(36页珍藏版)>请在人人文库网上搜索. 1.www.okyanli.com OK眼力 精 ...
- 门户通专访李进斌:火车头采集器-站长的伴侣
本次采访站长是火车头采集器网站 (http://www.locoy.com/)站长李进斌. 采访人:一滴水 被采访人:李进斌 火车头采集器站长李进斌(门户通网站配图) ...
最新文章
- 一文概览深度学习中的激活函数
- 有雄心的男人才有出息
- 脑机接口需要我们掌握什么样的知识?
- 一张照片攻破人脸识别系统:能点头摇头张嘴
- 计算机科学CSTA,学编程,搞懂CSTA K-12计算机科学学习标准
- [BZOJ2730][HNOI2012]矿场搭建(求割点)
- notepad++的好用快捷键整理
- HTML5如何控制暂停播放停止
- 适用于Photoshop的人像美容磨皮ps插件:Beauty Retouch Panel 2021 Mac
- 小爱同学App下架苹果App Store 网友:SiriOS警告?
- 【Java】JSON转EXCEL,支持多个数组生成多个sheet、附表头替换
- H3C华三路由器nat避免生成null 0路由并解决nat需求
- java获取文件编码
- 平均年薪50.8万,数据人拿下这个证书有多香?!
- golang学习笔记
- 数字IC手撕代码-乐鑫科技笔试真题(4倍频)
- 毕夏钟伟强沧桑战全场泪奔
- [转]关于openstack的一些废话(非技术)
- TopCoder SRM 574
- 【固定资产管理系统——开题报告 分享(仅供参考呀)】
热门文章
- 谷歌开源Android上Roboto无衬线字体家族
- 微信公众号授权(前端)
- vue3项目ts文件引入LodopFuncs.js打印控件
- python cox回归_数据分析|回归分析(RPython)
- windows下安装chardet
- python开发一个简单的聊天室
- aes解密流程图_aes流程图
- Microsoft Office SharePoint Server 2007的文件目录结构
- android app定时提醒,安卓手机上有没有每10分钟间隔定时提醒一次的便签app软件?...
- CAD无法拖动工具栏或菜单解决方法