c# 拉取网页

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.IO;

namespace xsharp
{
    class Program
    {
        static int writeContent(string  sHtml)
        {
            int iBgnIdx = sHtml.IndexOf("<div id=\"chaptercontent");
            if (iBgnIdx <= 0)
                return -1;
            int iEndIdx = sHtml.IndexOf("</div>", iBgnIdx+1);
            if (iEndIdx <= 0)
                return -1;

            string sDivSub = sHtml.Substring(iBgnIdx, iEndIdx - iBgnIdx);

            iBgnIdx = sDivSub.IndexOf("</p>");
            if (iBgnIdx <= 0)
                return -1;
            iEndIdx = sDivSub.IndexOf("<p style", iBgnIdx + 5);
            if (iEndIdx <= 0)
                return -1;
            string sContentSub = sDivSub.Substring(iBgnIdx+5, iEndIdx - iBgnIdx-5);
            sContentSub = sContentSub.Replace(" ", " ");
            sContentSub = sContentSub.Replace("<br />", Environment.NewLine);

            Console.WriteLine(sContentSub);
            using (StreamWriter sw = new StreamWriter("G:\\content.html"))//将获取的内容写入文本
            {
                sw.Write(sContentSub);
            }
            return 0;
        }
        static void Main(string[] args)
        {
            try
            {
                WebClient MyWebClient = new WebClient();
                MyWebClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于对向Internet资源的请求进行身份验证的网络凭据。
                Byte[] pageData = MyWebClient.DownloadData("http://wap.xxbiquge.com/59_59865/3184122.html"); //从指定网站下载数据

                //string pageHtml = Encoding.Default.GetString(pageData);  //如果获取网站页面采用的是GB2312,则使用这句
                string pageHtml = Encoding.UTF8.GetString(pageData); //如果获取网站页面采用的是UTF-8,则使用这句
                //Console.WriteLine(pageHtml);//在控制台输入获取的内容

                writeContent(pageHtml);

                //using (StreamWriter sw = new StreamWriter("G:\\ouput.html"))//将获取的内容写入文本
                //{
                //    sw.Write(pageHtml);
                //}

                Console.ReadLine(); //让控制台暂停,否则一闪而过了
            }
            catch (WebException webEx)
            {
                Console.WriteLine(webEx.Message.ToString());

            }

        }
    }
}

  

时间: 2024-12-05 12:10:58

c# 拉取网页的相关文章

网页滚动到底部,拉取数据

网页滚动模式 //滚到到底部自动拉取数据 //页面滚到底部异步加载下一页数据 $(window).scroll(function () { //已经滚动到上面的页面高度 var scrollTop = parseFloat($(this).scrollTop()), //页面高度 scrollHeight = $(document).height(), //浏览器窗口高度 windowHeight = parseFloat($(this).height()), totalHeight = scr

web scraper 抓取网页数据的几个常见问题

如果你想抓取数据,又懒得写代码了,可以试试 web scraper 抓取数据. 相关文章: 最简单的数据抓取教程,人人都用得上 web scraper 进阶教程,人人都用得上 如果你在使用 web scraper 抓取数据,很有可能碰到如下问题中的一个或者多个,而这些问题可能直接将你计划打乱,甚至让你放弃 web scraper . 下面列出几种你可能会碰到的问题,并说明解决方案. 1.有时候我们想选择某个链接,但是鼠标点击就出触发页面跳转,如何处理? 在我们选择页面元素的时候,勾选 "Enab

Scrapy精华教程(六)——自动爬取网页之II(CrawlSpider)

一.目的. 在教程(二)(http://blog.csdn.net/u012150179/article/details/32911511)中使用基于Spider实现了自己的w3cschool_spider,并在items.py中定义了数据结构, 在pipelines.py中实现获得数据的过滤以及保存. 但是以上述方法只能爬取start_url列表中的网页,而网络爬虫如google等搜索引擎爬虫实现的就是对整个互联网的爬取,所以在本教程中研究使用scrapy自动实现多网页爬取功能. 在教程(五)

一个咸鱼的Python爬虫之路(三):爬取网页图片

学完Requests库与Beautifulsoup库我们今天来实战一波,爬取网页图片.依照现在所学只能爬取图片在html页面的而不能爬取由JavaScript生成的图.所以我找了这个网站http://www.ivsky.com 网站里面有很多的图集,我们就找你的名字这个图集来爬取 http://www.ivsky.com/bizhi/yourname_v39947/ 来看看这个页面的源代码: 可以看到我们想抓取的图片信息在<li> 里面然后图片地址在img里面那么我们这里可以用Beautifu

nova虚拟机启动拉取image的过程

这里只关注Nova virt的spawn函数,glance.nova后端为ceph nova/virt/libvirt/driver.py    def spawn(self, context, instance, image_meta, injected_files,               admin_password, network_info=None, block_device_info=None):         image_meta = objects.ImageMeta.f

Asp.net 使用正则和网络编程抓取网页数据(有用)

Asp.net 使用正则和网络编程抓取网页数据(有用) /// <summary> /// 抓取网页对应内容 /// </summary> /// <param name="strUrl">採集地址</param> /// <param name="Begin">開始字符</param> /// <param name="End">结束字符</param&g

python多线程实现抓取网页

Python实现抓取网页 下面的Python抓取网页的程序比较初级,只能抓取第一页的url所属的页面,只要预定URL足够多,保证你抓取的网页是无限级别的哈,下面是代码: ##coding:utf-8 ''' 无限抓取网页 @author wangbingyu @date 2014-06-26 ''' import sys,urllib,re,thread,time,threading ''' 创建下载线程类 ''' class download(threading.Thread): def __

抓取网页链接

package com.smilezl.scrapy; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.sql.Connection; import java.sql.DriverManager; import java.sq

拉取种子用户的4种方法

本文和大家分享的主要是网络运营中拉取种子用户的几种方法,一起来看看吧,希望对运营新人有所帮助吧. 比较新的产品,我觉得没有用户来,这种情况怎么处理? 第一步要先了解你的目标用户是谁?很多同学并没有想清楚自己真正想要拉哪些人,他们是谁?到底在哪里?所以我列了三个问题,希望大家真正做用户运营工作之前,先考虑好这三个问题,该怎么去回答. 第1个问题,他们到底是谁? · 第2个问题,谁对这些人有影响力? · 第3个问题,有影响力的这些人又在哪里? 第一个问题:他们是谁,指的是你要先思考你的目标用户是谁?