精华内容
下载资源
问答
  • C#爬虫

    2018-11-10 14:32:51
    C#爬虫之WebClient、WebRequest、WebResponse应用 WebClient 获取网页Html WebClient MyWebClient = new WebClient(); MyWebClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于向Internet...

    C#爬虫之WebClient、WebRequest、WebResponse应用

    WebClient 获取网页Html

     WebClient MyWebClient = new WebClient();
                    MyWebClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于向Internet资源的请求进行身份验证的网络凭据
                    Byte[] pageData = MyWebClient.DownloadData(url); //从指定网站下载数据
                    pageHtml = Encoding.UTF8.GetString(pageData); //如果获取网站页面采用的是UTF-8,则使用这句
    

    请求数据并保存为文件

    try
                {
                    WebRequest request = WebRequest.Create(urls);//图片src内容
                    WebResponse response = request.GetResponse();
                    //文件流获取图片操作
                    Stream reader = response.GetResponseStream();
                    string path = "H://imgs//" + count.ToString() + "//" +aa.ToString()+"//"+ i.ToString() + ".jpg";        //图片路径命名 
                    FileStream writer = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
                    byte[] buff = new byte[512];
                    int c = 0;                                           //实际读取的字节数   
                    while ((c = reader.Read(buff, 0, buff.Length)) > 0)
                    {
                        writer.Write(buff, 0, c);
                    }
                    //释放资源
                    writer.Close();
                    writer.Dispose();
                    reader.Close();
                    reader.Dispose();
                    response.Close();
                    //下载成功
    
                }
                catch (Exception msg)
                {
                    Console.Write(msg.Message);
                    return;
                }
    

    利用正则表达式和队列可以爬取网页上的图片,请看下面例子:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.IO;
    using System.Text.RegularExpressions;
    using System.Net;
    using System.Collections;
    
    namespace ConsoleApp16
    {
        class Program
        {
            public static string HtmlText(string url)
            {
                string pageHtml = "";
                try
                {
                    WebClient MyWebClient = new WebClient();
                    MyWebClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于向Internet资源的请求进行身份验证的网络凭据
                    Byte[] pageData = MyWebClient.DownloadData(url); //从指定网站下载数据
                    pageHtml = Encoding.UTF8.GetString(pageData); //如果获取网站页面采用的是UTF-8,则使用这句
                }
                catch (WebException webEx)
                {
                    Console.WriteLine(webEx.Message.ToString());
                }
                return pageHtml;
            }
    
            public static void save(int i, int count, int aa, string urls)
            {
                try
                {
                    WebRequest request = WebRequest.Create(urls);//图片src内容
                    WebResponse response = request.GetResponse();
                    //文件流获取图片操作
                    Stream reader = response.GetResponseStream();
                    string path = "H://qimg//" + count.ToString() + "//" + aa.ToString() + "//" + i.ToString() + ".jpg";        //图片路径命名 
                    FileStream writer = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
                    byte[] buff = new byte[512];
                    int c = 0;                                           //实际读取的字节数   
                    while ((c = reader.Read(buff, 0, buff.Length)) > 0)
                    {
                        writer.Write(buff, 0, c);
                    }
                    //释放资源
                    writer.Close();
                    writer.Dispose();
                    reader.Close();
                    reader.Dispose();
                    response.Close();
                    //下载成功
    
                }
                catch (Exception msg)
                {
                    Console.Write(msg.Message);
                    return;
                }
            }
    
            static void Main(string[] args)
            {
                Queue html = new Queue();//初始化网页链接队列
                Queue img = new Queue();//初始化图片地址队列
                int index = 0;
                string pageHtml = HtmlText(网站主页urls);
                Regex re = new Regex(正则表达式匹配下一级网页链接);
                MatchCollection mc = re.Matches(pageHtml);
                foreach (Match ma in mc)
                {
                    string tmp = urls + ma.Value.ToString();
                    html.Enqueue(tmp);//入队
                }
                int i = 1;
                while (html.Count > 0)
                {
                    if (i < 30)
                    {
                        if (i % 2 == 0)
                        {
                            i++;
                            html.Dequeue();
                            continue;
                        }
                    }
                    else
                        Directory.CreateDirectory("H://qimg//" + i.ToString());//创建目录
                    string ss = (string)html.Dequeue();
                    for (int aa = 1; aa < 4; aa++)
                    {
                        string path = ss + "?" + "sub=" + aa.ToString();
                        string Html = HtmlText(path);
                        Regex res = new Regex(正则表达式匹配图片地址, RegexOptions.None);
                        MatchCollection mcs = res.Matches(Html);
                        foreach (Match mas in mcs)
                        {
                            string a = "https://" + mas.Value.ToString();
                            img.Enqueue(a);
                        }
                        Regex ree = new Regex(正则表达式, RegexOptions.None);//将找到的新的图片html加入队列
                        MatchCollection mce = ree.Matches(Html);
                        foreach (Match mae in mce)
                        {
                            string tmp = "https://" + mae.Value.ToString().Replace("\"","").Replace(">","");//替换字符
                            html.Enqueue(tmp);
                        }
                        Directory.CreateDirectory("H://qimg//" + i.ToString() + "//" + aa.ToString());
                       for(int s=1;img.Count>0;s++)
                        {
                            if (s <= 8)//保存找到的前八张图片
                                save(s, i, aa, (string)img.Dequeue());
                            else
                                img.Dequeue();
                        }
                        Console.WriteLine("ok");
                    }
                        html.Dequeue();//保存完当前网页图片,出队
                        i++;
                 }
                }
            }
    }
    
    

    写好正则表达式后,程序就会自己不断从网站上爬取图片,保存到本地。控制台可以使程序执行地更快。个人只是初学者,最近要用到才拿来玩玩,怕以后忘记才记录下来。

    展开全文
  • c# 爬虫

    2019-09-30 05:22:08
    测试当前爬虫的User-Agent:http://www.whatismyuseragent.net/ 大佬的博客地址:https://www.cnblogs.com/jjg0519/p/6702747.html 然后拿着demo去弄,发现被重定向了 然后就看 把大佬的代码那个禁止重定向...

    测试当前爬虫的User-Agent:http://www.whatismyuseragent.net/

    大佬的博客地址:https://www.cnblogs.com/jjg0519/p/6702747.html

    然后拿着demo去弄,发现被重定向了

    然后就看

    把大佬的代码那个禁止重定向弄掉就ok了

    然后就能抓取到数据了

     

    转载于:https://www.cnblogs.com/shuaimeng/p/10684238.html

    展开全文
  • c#爬虫
  • C# 爬虫

    千次阅读 2019-04-04 17:52:06
    需要用到html解析插件-工具-NuGet程序包 <jumony core> string url = "https://www.soogif.com/"; void Index() ... IHtmlDocument source = new JumonyParser().LoadDocument(url,System.T...

    需要用到html解析插件 -工具- NuGet程序包   <jumony core> 

     

        string url = "https://www.soogif.com/";
    
        void Index()
        {
            IHtmlDocument source = new JumonyParser().LoadDocument(url,System.Text.Encoding.GetEncoding("utf-8"));
            var links = source.Find("img");
            int num = 0;
            foreach (var link in links)
            {
                string value = link.Attribute("data-src").Value();
                if (value != null)
                {
                    num++;
                    string path = desPath + "\\" + num;
                    DownloadImage2(value, path+".gif");
                }
            }
        }
        string desPath = "C:\\gif";
        private void DownloadImage2(string objUrl, string destFileName)
        {
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(objUrl);
            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    using (Stream stream = response.GetResponseStream())
                    {
                        using (FileStream fileStream = new FileStream(destFileName, FileMode.Create))
                        {
                            stream.CopyTo(fileStream);//stream 写入到fileStream中
                        }
                    }
                }
                else
                {
                    throw new Exception("下载" + objUrl + "失败,错误码:" + response.StatusCode);
                }
            }
        }

     

     

     

     

     

    展开全文
  • SoukeyMiner C#爬虫工具

    2019-09-10 23:32:03
    C#爬虫工具,可以设置定时任务,抓取数据可保存多种格式,也可直接导入数据库,不错的爬虫工具
  • C#爬虫案例.zip

    2019-11-16 15:23:14
    业余时间自己写的一个C#的爬虫小案例,还不太成熟,刚接触c#爬虫的可以看看,绝对可以运行,欢迎下载或讨论!
  • 网易云音乐C#爬虫

    2018-01-21 22:15:43
    网易云音乐 C# 爬虫,使用NeteaseCloudMusicApi的C#例子 https://www.npmjs.com/package/NeteaseCloudMusicApi
  • 带界面的C#爬虫

    2018-03-24 10:51:50
    带界面的C#爬虫,支持js渲染后的网页,下载后可直接运行,内附python版的爬虫.
  • HtmlAgilityPack C# 爬虫源码 爬图片 使用HtmlAgilityPack类库解析html非常方便,然后用正则表达式得到相应的地址
  • C#爬虫源码 爬取大众点评的商户信息 demo 请勿非法操作 给想学习爬虫的新人学习。
  • C#爬虫引擎内核版SmartSpider,初学者的首选。。。。。。
  • C#爬虫获取网页中表格数据,正则表达式匹配表格,含爬虫完整代码
  • C#爬虫获取电影网资源,整合winform窗体,仿播放器窗体
  • C#爬虫基础—小说抓取,代码注释全 有详细的注释可以轻松阅读,适合刚入门C#爬虫的新手
  • 主要给大家介绍了关于利用c#爬虫爬取京东商品信息的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们随着小编来一起学习学习吧
  • C# 爬虫基础

    2018-01-03 15:02:19
    使用C#技术爬虫原理,捕捉网页内容。开发环境vs2015社区版。压缩包是源代码 HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(url);
  • C# 爬虫接口

    2018-01-30 17:58:24
    C#C/S 写的 爬虫接口,支持接口,网页,文件资源下载等数据下载! 具体可参考博客地址:http://blog.csdn.net/qq237183141/article/details/79208909
  • C#爬虫程序

    2017-04-07 14:08:27
    从CodePlex上面找到的一个C#写的爬虫程序,有兴趣的同学可以看一下,CodePlex今年10月份,变成只读的了,所有的开源项目都迁移到GitHub上面,不管怎么说,在开源的上面,微软又输给了GitHub
  • C# 爬虫框架实现 概述

    2016-06-22 08:49:00
    C#爬虫框架实现 源代码下载 开发目的:写这个程序主要是为了找工作。因为没项目在简历上吃大亏,空口无凭,只能做出点东西证明自己能做事情。其次是为了练习使用MVC做的博客网站提供素材。...

    目录:

    1. C# 爬虫框架实现 概述 
    2. C# 爬虫框架实现 流程_爬虫结构/原理
    3. C# 爬虫框架实现 流程_各个类开发
    4. C# 爬虫框架实现 流程_遇到的问题
    5. C# 爬虫框架实现 后记
    6. C#爬虫框架实现 源代码下载

     

    开发目的:写这个程序主要是为了找工作。因为没项目在简历上吃大亏,空口无凭,只能做出点东西证明自己能做事情。其次是为了练习使用MVC做的博客网站提供素材。

    需自定义:

    • patternlist匹配项定义
    • 定义结果输出方式:本地sqlserver 的spider数据库,或者终端
    • 种子库

    需要:

    • 开发使用了开源类:CSQuery解析HTML,所以patternlist匹配项的书写规范要符合CSQuery,其实基本和CSS选择器差不多
    • 使用visual studio 2015 update2

    转载于:https://www.cnblogs.com/jiangtu/p/5605788.html

    展开全文
  • C# 爬虫(初步).rar C# 爬虫(初步).rar C# 爬虫(初步).rar
  • C# 爬虫小程序

    2018-05-15 21:08:59
    C# 爬虫小程序 设计思路 主要基于Http Get请求网页数据,进行分析。涉及递归调用,多线程提高效率,守护线程等。 相关技术 抽象类 多线程 队列 Http Get请求 字符串解析 项目结构 AbsChain 职责链抽象类,负责...
  • C# 爬虫程序

    2012-04-05 10:32:46
    C# 网络爬虫 运行情况挺好的
  • C#爬虫项目 CSharpCrawler :spider: 关于项目 C#开发爬虫的知识总结,目前还在更新中。这并不是一个完整的爬虫程序,只是一些示例。 为什么要拿C#开发爬虫项目,因为个人还是比较喜欢C#。C#虽然库少一点,但想要的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,904
精华内容 4,761
关键字:

c#爬虫

c# 订阅
爬虫 订阅