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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 9917|回复: 6

[更新] HttpHelper万能框架V2.3.66正式发布,请大家及时更新

[复制链接]
发表于 2019-11-1 08:57:19 | 显示全部楼层 |阅读模式
HttpHelper万能框架V2.3.66正式发布,请大家及时更新

本次修复的问题如下
[C#] 纯文本查看 复制代码
            //1.修复提取Title不兼容大小写的问题属性

            //2.修复提取Html代码不完整的Bug

            //3.增加GetHtmlKeywords,和GetHtmlDescription方法

            //4.增加对称加密算法

            //5.修复获取img标签的算法



HttpHelper万能框架V2.3.66正式发布,请大家及时更新

1. 获取Title方法

     title修复之后几乎可以直接获取所有页面的title大家可以在线测试  http://seo.ruituoyun.com/title
使用方法如下
[C#] 纯文本查看 复制代码
string title= HttpHelper.GetHtmlTitle(html)

只需要将html页面代码传入如下方法即可

2. 获取keywords

使用方法
[C#] 纯文本查看 复制代码
string  keywords = HttpHelper.GetHtmlKeywords(html);

在线测试http://seo.ruituoyun.com/keywords

3.见面描述description

使用方法
[C#] 纯文本查看 复制代码
 string description = HttpHelper.GetHtmlDescription(html);

在线测试 http://seo.ruituoyun.com/description

4.获取页面所有的A链接。


[C#] 纯文本查看 复制代码
   List<AItem> list = HttpHelper.GetAList(html, host);

注:
AItem

[C#] 纯文本查看 复制代码
 //
    // 摘要:
    //     A连接对象 Copyright:[url]http://www.httphelper.com/[/url]
    public class AItem
    {
        public AItem();

        //
        // 摘要:
        //     链接地址
        public string Href { get; set; }
        //
        // 摘要:
        //     链接文本
        public string Text { get; set; }
        //
        // 摘要:
        //     链接的图片,如果是文本链接则为空
        public ImgItem Img { get; set; }
        //
        // 摘要:
        //     整个连接Html
        public string Html { get; set; }
        //
        // 摘要:
        //     A链接的类型
        public AType Type { get; set; }
        //
        // 摘要:
        //     A链接的属性 0是内连链,1是外链,2不是链接
        public int attr { get; set; }
        //
        // 摘要:
        //     是否_blank链接
        public bool is_blank { get; set; }
        //
        // 摘要:
        //     是否写title
        public bool is_title { get; set; }
    }


host是指的当前html的host主机,主要是用于排除内个链接的。
大家可以直接在线测试看效果http://seo.ruituoyun.com/alink?site=http%3A%2F%2Fwww.sufeinet.com
如下
QQ截图20191101085014.png

具体方法如下
[C#] 纯文本查看 复制代码
//get host
                        string host = site != null ? new Uri(site).Host : string.Empty;
//a list
                        List<AItem> list = HttpHelper.GetAList(html, host);
                        if (list != null)
                        {
                            alist = list;
//所有的图片链接
                            imglist = alist.Where(t => t.Type == CsharpHttpHelper.Enum.AType.Img).ToList();
//所有的内部链接
                            neibulist = alist.Where(t => t.attr == 0).ToList();
//内部链接跳出的
                            neibuoutlist = alist.Where(t => t.attr == 0 && t.is_blank).ToList();
//外部链接
                            waibulist = alist.Where(t => t.attr == 1).ToList();
//外部链接跳出的
                            waibuoutlist = alist.Where(t => t.attr == 1 && t.is_blank).ToList();
//所有的无效链接
                            wuxiaolist = alist.Where(t => t.attr == 2).ToList();
//所有不带Tittle的链接
                            notitlelist = alist.Where(t => t.is_title == false).ToList();
                        }


5.获取所有的img图片标签的

在线测试效果http://seo.ruituoyun.com/img?site=http%3A%2F%2Fwww.sufeinet.com
与上的同大致相同使用方法如下

[C#] 纯文本查看 复制代码
  //get host
                        string host = site != null ? new Uri(site).Host : string.Empty;
                        //get imglist
                        var list = HttpHelper.GetImgList(html);
                        if (list != null)
                        {
                            mlist = list;
                            //获取所有的图片标签
                            altlist = mlist.Where(t => t.alt == null).ToList();
                            //所有不带alt的
                            kongaltlist = mlist.Where(t => t.alt == string.Empty).ToList();
                            //所有不带title的
                            titlelist = mlist.Where(t => t.title == null).ToList();
                            //title为空的
                            kongtitlelist = mlist.Where(t => t.title == string.Empty).ToList();
                            //alt和title都不存在
                            twolist = mlist.Where(t => t.alt == null && t.title == null).ToList();
                            //alt和title都为空的
                            kongtwolist = mlist.Where(t => t.alt == string.Empty && t.title == string.Empty).ToList();
                        }


好了大家有兴趣的可以下载最新版本进行测试。
有什么问题请回复给你留言




1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2019-11-1 09:42:18 | 显示全部楼层
支持支持,苏大大威武
发表于 2019-11-1 10:20:32 | 显示全部楼层
666  支持
发表于 2019-11-1 12:28:23 | 显示全部楼层
支持
回复

使用道具 举报

发表于 2019-11-1 22:03:58 | 显示全部楼层
露个脸,混个熟
发表于 2019-12-7 10:23:14 | 显示全部楼层
支持大佬   
这些方法有没有  有没有补充  await 的打算?
发表于 2020-9-16 14:36:58 | 显示全部楼层
支持大佬,工具类越来越强大了
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-11-18 10:49

© 2014-2021

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