Exemplo n.º 1
0
        static void oschina()
        {
            CQ doc;

            try
            {
                var client = new RestClient("http://www.oschina.net/news/list");
                var resq   = new RestRequest(Method.GET);
                var resp   = client.Execute(resq);
                doc = resp.Content;
            }
            catch (Exception ex)
            {
                Thread.Sleep(GetWaitTime());
                oschina();
                return;
            }
            var arr      = doc["#RecentNewsList .List li"].ToList();
            var dataList = new List <allen_news>();
            var db       = dbFactory.Open();

            foreach (var item in arr)
            {
                CQ  target = item.InnerHTML;
                var data   = new allen_news();
                data.news_title = target["h2 a"].Text().Trim();
                if (checkTitle(data.news_title))
                {
                    continue;
                }
                data.news_summary   = target[".detail"].Text().Trim();
                data.author         = target[".date a"].Text().Trim();
                data.add_time       = DateTime.Now;
                data.from_site_flag = 2;
                data.news_url       = target["h2 a"].Attr("href");
                if (!data.news_url.StartsWith("http://www.oschina.net"))
                {
                    data.news_url = "http://www.oschina.net" + data.news_url;
                }
                dataList.Insert(0, data);
            }
            if (dataList.Count > 0)
            {
                db.InsertAll <allen_news>(dataList);
            }
            db.Dispose();
            Console.WriteLine("增加了{0}条文章2", dataList.Count);
            Thread.Sleep(GetWaitTime());
            oschina();
        }
Exemplo n.º 2
0
        static void cto51()
        {
            CQ doc;

            try
            {
                HttpWebRequest  request  = WebRequest.Create("http://www.51cto.com/recommnews/list1.htm") as HttpWebRequest;
                HttpWebResponse response = request.GetResponse() as HttpWebResponse;
                Stream          stream   = response.GetResponseStream();
                StreamReader    reader   = new StreamReader(stream, Encoding.Default);
                string          html     = reader.ReadToEnd();
                stream.Close();
                doc = html;
            }
            catch (Exception ex)
            {
                Thread.Sleep(GetWaitTime());
                cto51();
                return;
            }
            var arr      = doc[".list-li"].ToList();
            var dataList = new List <allen_news>();
            var db       = dbFactory.Open();

            foreach (var item in arr)
            {
                CQ  target = item.InnerHTML;
                var data   = new allen_news();
                data.news_title = target[".pic a"].Text().Trim();
                if (checkTitle(data.news_title))
                {
                    continue;
                }
                data.news_summary   = target[".cont .info"].Text().Trim();
                data.author         = "";
                data.add_time       = DateTime.Now;
                data.from_site_flag = 4;
                data.news_url       = target[".pic a"].Attr("href");
                dataList.Insert(0, data);
            }
            if (dataList.Count > 0)
            {
                db.InsertAll <allen_news>(dataList);
            }
            db.Dispose();
            Console.WriteLine("增加了{0}条文章4", dataList.Count);
            Thread.Sleep(GetWaitTime());
            cto51();
        }
Exemplo n.º 3
0
        static void cnblogs()
        {
            CQ doc;

            try
            {
                var client = new RestClient("http://www.cnblogs.com/news/");
                var resq   = new RestRequest(Method.GET);
                var resp   = client.Execute(resq);
                doc = resp.Content;
            }
            catch (Exception ex)
            {
                Thread.Sleep(GetWaitTime());
                cnblogs();
                return;
            }
            var arr      = doc[".post_item_body"].ToList();
            var dataList = new List <allen_news>();
            var db       = dbFactory.Open();

            foreach (var item in arr)
            {
                var str    = item.InnerText;
                var strArr = str.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                var data   = new allen_news();
                data.news_title = strArr[0];
                if (checkTitle(data.news_title))
                {
                    continue;
                }
                data.news_summary   = strArr[1].Trim();
                data.author         = strArr[2].Split("发布于".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)[0];
                data.add_time       = DateTime.Now;
                data.from_site_flag = 0;
                data.news_url       = ((CQ)item.InnerHTML)["h3 a"].Attr("href");
                dataList.Insert(0, data);
            }
            if (dataList.Count > 0)
            {
                db.InsertAll <allen_news>(dataList);
            }
            db.Dispose();
            Console.WriteLine("增加了{0}条文章0", dataList.Count);
            Thread.Sleep(GetWaitTime());
            cnblogs();
        }
Exemplo n.º 4
0
        static void csdn()
        {
            CQ doc;

            try
            {
                var client = new RestClient("http://news.csdn.net/");
                var resq   = new RestRequest(Method.GET);
                var resp   = client.Execute(resq);
                doc = resp.Content;
            }
            catch (Exception ex)
            {
                Thread.Sleep(GetWaitTime());
                csdn();
                return;
            }
            var arr      = doc[".news .unit"].ToList();
            var dataList = new List <allen_news>();
            var db       = dbFactory.Open();

            foreach (var item in arr)
            {
                CQ  target = item.InnerHTML;
                var data   = new allen_news();
                data.news_title = target["h1 a"].Text().Trim();
                if (checkTitle(data.news_title))
                {
                    continue;
                }
                data.news_summary   = target["dd"].Text().Trim();
                data.author         = "";
                data.add_time       = DateTime.Now;
                data.from_site_flag = 5;
                data.news_url       = target["h1 a"].Attr("href");
                dataList.Insert(0, data);
            }
            if (dataList.Count > 0)
            {
                db.InsertAll <allen_news>(dataList);
            }
            db.Dispose();
            Console.WriteLine("增加了{0}条文章5", dataList.Count);
            Thread.Sleep(GetWaitTime());
            csdn();
        }
Exemplo n.º 5
0
        static void infoq()
        {
            CQ doc;

            try
            {
                var client = new RestClient("http://www.infoq.com/cn/news");
                var resq   = new RestRequest(Method.GET);
                var resp   = client.Execute(resq);
                doc = resp.Content;
            }
            catch (Exception ex)
            {
                Thread.Sleep(GetWaitTime());
                infoq();
                return;
            }
            var arr      = doc[".news_type_block"].ToList();
            var dataList = new List <allen_news>();

            foreach (var item in arr)
            {
                CQ  target = item.InnerHTML;
                var data   = new allen_news();
                data.news_title = target["h2 a"].Text().Trim();
                if (checkTitle(data.news_title))
                {
                    continue;
                }
                data.news_summary   = target["p"].Text().Trim();
                data.author         = target[".author a"].Text().Trim();
                data.add_time       = DateTime.Now;
                data.from_site_flag = 1;
                data.news_url       = "http://www.infoq.com" + target["h2 a"].Attr("href");
                dataList.Insert(0, data);
            }
            insertToDB(dataList);
            Console.WriteLine("增加了{0}条文章1", dataList.Count);
            Thread.Sleep(GetWaitTime());
            infoq();
        }