http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 11702|回复: 15

[反馈建议] 建议万能框架加入采集常用的方法

[复制链接]
发表于 2014-9-23 11:17:14 | 显示全部楼层 |阅读模式
通过万能框架的功能,发现做小偷程序,或者做采集程序非常牛X。。建议把常用的方法封装进去,不用每次用到的时候,都要自己写了。
如:从获取到的html截取需要的部分,如下:
[C#] 纯文本查看 复制代码
/// <summary>
        /// GetSubString截取字符串
        /// </summary>
        /// <param name="strSource">原始字符</param>
        /// <param name="strIndexOf">开始字符</param>
        /// <param name="strLastOf">结束字符</param>
        /// <returns></returns>
        private string GetSubString(string strSource, string strIndexOf, string strLastOf)
        {
            string strResult = string.Empty;
            int indexOf = strSource.IndexOf(strIndexOf);
            if (indexOf > -1)
            {
                string strTemp = strSource.Substring(indexOf + strIndexOf.Length);
                if (!string.IsNullOrEmpty(strTemp))
                {
                    strResult = strTemp.Substring(0, strTemp.IndexOf(strLastOf));
                }
            }
            return strResult;
        }


还有其他的如正则提取的方法等等。。


本帖被以下淘专辑推荐:



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-9-23 11:37:14 | 显示全部楼层
Monn 发表于 2014-9-23 11:29
我简单的贴上两个方法,其实就是做小偷或者采集程序,常常用到的一些处理html的一些方法。我这也不是很全 ...

恩挺好的,我写的时候看看,能加的就加上,不过我打算开发一套Html的Xpath出来,这样更方便,或者是把Html当到Xml处理,这 两种我正在做测试。肯定会选择一种,如果单纯的集成方法那我们集成千万个方法恐怕也是不够用,只有搞个引擎出来,让大家根据语法自己搞才是正道 ,对于这方面如果有什么好的建议可以提提
发表于 2014-9-23 11:20:48 | 显示全部楼层
这个方法可以加,你说的其他可以具体化一下。能加的一定加
 楼主| 发表于 2014-9-23 11:29:19 | 显示全部楼层
站长苏飞 发表于 2014-9-23 11:20
这个方法可以加,你说的其他可以具体化一下。能加的一定加

我简单的贴上两个方法,其实就是做小偷或者采集程序,常常用到的一些处理html的一些方法。我这也不是很全,贴几个,站长有其他好的代码,一定要加进框架里啊。。
[C#] 纯文本查看 复制代码
/// <summary>
        /// 执行正则提取出值
        /// </summary>
        /// <param name="RegexString">正则表达式</param>
        /// <param name="RemoteStr">HtmlCode源代码</param>
        /// <returns></returns>
        public string  GetRegValue(string RegexString, string RemoteStr)
        {
            string MatchVale = "";
            Regex r = new Regex(RegexString);
            Match m = r.Match(RemoteStr);
            if (m.Success)
            {
                MatchVale = m.Value;
            }
            return MatchVale;
        }



[C#] 纯文本查看 复制代码
/// <summary>
        /// 替换HTML源代码
        /// </summary>
        /// <param name="HtmlCode">html源代码</param>
        /// <returns></returns>
        public string RemoveHTML(string HtmlCode)
        {
            string MatchVale = HtmlCode;
            foreach (Match s in Regex.Matches(HtmlCode, "<.+?>"))
            {
                MatchVale = MatchVale.Replace(s.Value, "");
            }
            return MatchVale;
        }


[C#] 纯文本查看 复制代码
/// <summary>
        /// 替换通过正则获取字符串所带的正则首尾匹配字符串
        /// </summary>
        /// <param name="RegValue">要替换的值</param>
        /// <param name="regStart">正则匹配的首字符串</param>
        /// <param name="regEnd">正则匹配的尾字符串</param>
        /// <returns></returns>
        public string RegReplace(string RegValue, string regStart, string regEnd)
        {
            string s = RegValue;
            if (RegValue != "" && RegValue != null)
            {
                if (regStart != "" && regStart != null)
                {
                    s = s.Replace(regStart, "");
                }
                if (regEnd != "" && regEnd != null)
                {
                    s = s.Replace(regEnd, "");
                }
            }
            return s;
        }


还有获取a连接和图片连接的就不贴了。框架已经有了。

 楼主| 发表于 2014-9-23 11:52:58 | 显示全部楼层
站长苏飞 发表于 2014-9-23 11:37
恩挺好的,我写的时候看看,能加的就加上,不过我打算开发一套Html的Xpath出来,这样更方便,或者是把Htm ...

牛啊 期待中。。有建议一定会提的,不过俺比较菜。嘿嘿。。
发表于 2014-9-24 21:42:45 | 显示全部楼层
我一直在想,站长能不能把HtmlAgilityPack这个开源的功能集成在万能框架里?
HAP还是比较牛的。
发表于 2014-9-26 12:56:46 | 显示全部楼层
azon 发表于 2014-9-24 21:42
我一直在想,站长能不能把HtmlAgilityPack这个开源的功能集成在万能框架里?
HAP还是比较牛的。

这个我正在努力中。。。
发表于 2014-9-26 13:59:23 | 显示全部楼层
我一直用的SgmlReader转xml,但是很多复杂的网页都报超时错误,转不了
发表于 2014-9-26 14:04:16 | 显示全部楼层
强烈支持楼主ing……
发表于 2014-9-28 10:26:05 | 显示全部楼层
不要搞得大而全。专业的事用专业的库即可。比如 HAP。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-15 12:52

© 2014-2021

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