zoukankan      html  css  js  c++  java
  • C#远程获取/读取网页内容

    using System;

    using System.Collections.Generic;

    using System.Text;

    using System.Net;

    using System.IO;

    namespace thief

    {

        class Program

        {

            static void Main(string[] args)

            {

               

                try {

                    WebClient MyWebClient = new WebClient();

                    MyWebClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于对向Internet资源的请求进行身份验证的网络凭据。

                    Byte[] pageData = MyWebClient.DownloadData(http://www.163.com); //从指定网站下载数据

                    string pageHtml = Encoding.Default.GetString(pageData);  //如果获取网站页面采用的是GB2312,则使用这句             

                    //string pageHtml = Encoding.UTF8.GetString(pageData); //如果获取网站页面采用的是UTF-8,则使用这句

                    Console.WriteLine(pageHtml);//在控制台输入获取的内容

                    using (StreamWriter sw = new StreamWriter("c:\\test\\ouput.html"))//将获取的内容写入文本

                    {

                        sw.Write(pageHtml);

                    }

                    Console.ReadLine(); //让控制台暂停,否则一闪而过了              

                }

                catch(WebException webEx) {

                    Console.WriteLine(webEx.Message.ToString());

                }

            }

        }

    }

    改进一下,加入定时器后

    using System;

    using System.Text;

    using System.Timers;

    using System.Net;

    using System.IO;

    //<summary>

    //每隔5秒钟将指定网页的内容抓取下来,并以文件形式保存到c:\test目录中

    //</summary>

    namespace TimerTest

    {

        class Program

        {

            public static string outFileName = "";                  //生成的文件名

            public static string myUrl = "http://bxg.cfchina.cn";    //要抓取的网页

            static void Main(string[] args)

            {

                Timer mytimer = new Timer();

                mytimer.Elapsed +=new ElapsedEventHandler(GetUrl);//指定定时器的事件

                mytimer.Interval = 5000;//每隔5秒抓一次

                mytimer.Start();

                mytimer.Enabled = true;

                while (Console.Read() != 'q') //直到按小写字母q退出,否则一直抓取下去

                {

                }

            }

            //定时器事件内容

            static void GetUrl(object source, ElapsedEventArgs e)

            {

                try

                {

                    WebClient MyWebClient = new WebClient();

                    MyWebClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于对向Internet资源的请求进行身份验证的网络凭据。

                    Byte[] pageData = MyWebClient.DownloadData(myUrl);//从指定网站下载数据

                    string pageHtml = Encoding.Default.GetString(pageData);  //如果获取网站页面采用的是GB2312,则使用这句              

                    //string pageHtml = Encoding.UTF8.GetString(pageData); //如果获取网站页面采用的是UTF-8,则使用这句

                    //Console.WriteLine(pageHtml);//在控制台输入获取的内容

                    outFileName = "C:\\test\\" + DateTime.Now.ToString().Replace(" ", "").Replace(":", "").Replace("-", "") + ".html";

                    using (StreamWriter sw = new StreamWriter(outFileName))//将获取的内容写入文本

                    {

                        sw.Write(pageHtml);

                    }

                    Console.WriteLine(outFileName);  //输出保存后的文件名                      

                }

                catch (WebException webEx)

                {

                    Console.WriteLine(webEx.Message.ToString());

                }

            }

  • 相关阅读:
    Eclipse,到了说再见的时候了——Android Studio最全解析
    iOS 获取当前时间以及计算年龄(时间差)
    USACO inflate
    Hauntbox:用于控制你的自己主动化、电子创意家居的开源硬件盒子
    使用开源的PullToRefreshScrollView scrollTo和scrollby遇到的问题
    iOS &quot;The sandbox is not in sync with the Podfile.lock&quot;解决方式
    [衣裳饰品]谈谈西装、手工西装和西装定制_时尚资讯_天涯论坛
    高级服装制版师、高级男女西服全套裁艺培训、带学徒
    中式男装制作
    关于意大利马兰戈尼时装与设计学院_马兰戈尼学院
  • 原文地址:https://www.cnblogs.com/sunrisefengfei/p/12392022.html
Copyright © 2011-2022 走看看