获取网页页面内容

//获取指定URL的页面内容
        private string getHtml(string url, string charSet = "utf-8")//url是要访问的网站地址,charSet是目标网页的编码,如果传入的是null或者"",那就自动分析网页的编码
        {
            WebClient myWebClient = new WebClient(); //创建WebClient实例myWebClient
            // 需要注意的:
            //有的网页可能下不下来,有种种原因比如需要cookie,编码问题等等
            //这是就要具体问题具体分析比如在头部加入cookie
            // webclient.Headers.Add("Cookie", cookie);
            //这样可能需要一些重载方法。根据需要写就可以了

            //获取或设置用于对向 Internet 资源的请求进行身份验证的网络凭据。
            myWebClient.Credentials = CredentialCache.DefaultCredentials;
            //如果服务器要验证用户名,密码
            //NetworkCredential mycred = new NetworkCredential(struser, strpassword);
            //myWebClient.Credentials = mycred;
            //从资源下载数据并返回字节数组。(加@是因为网址中间有"/"符号)
            byte[] myDataBuffer;
            try
            {
                myDataBuffer = myWebClient.DownloadData(url);
            }
            catch (Exception ee)
            {
                throw ee;
            }
            string strWebData = Encoding.Default.GetString(myDataBuffer);

            //获取网页字符编码描述信息
            Match charSetMatch = Regex.Match(strWebData, "<meta([^<]*)charset=([^<]*)\"", RegexOptions.IgnoreCase | RegexOptions.Multiline);
            string webCharSet = charSetMatch.Groups[2].Value;
            if (charSet == null || charSet == "")
                charSet = webCharSet;

            if (charSet != null && charSet != "" && Encoding.GetEncoding(charSet) != Encoding.Default)
                strWebData = Encoding.GetEncoding(charSet).GetString(myDataBuffer);
            return strWebData;
        }

CherryPy是一个Python的Web框架,它允许开发者通过简单、直观的方式创建Web应用程序。要使用CherryPy获取网页内容,你需要定义一个处理请求的方法,并在这个方法中编写逻辑来生成或获取你想要展示给用户的内容。 下面是一个简单的例子,展示了如何在CherryPy中创建一个Web服务,该服务响应用户请求并返回一个字符串,模拟获取网页内容的过程: ```python import cherrypy class WebService: @cherrypy.expose def index(self): # 在这里编写获取网页内容的逻辑 # 例如,从数据库中获取,或者调用API等 content = "这是模拟的网页内容。" return content if __name__ == '__main__': cherrypy.quickstart(WebService()) ``` 在这个例子中,`WebService` 类有一个方法 `index`,这个方法被 `@cherrypy.expose` 装饰器装饰,这意味着这个方法将对Web请求开放。在这个方法中,我们模拟了一个获取网页内容的过程,并将这个内容返回给客户端。 如果你需要从其他网站获取实际的网页内容,你可以使用Python的 `requests` 库来请求网页获取内容。下面是一个使用 `requests` 获取远程网页内容的例子: ```python import requests import cherrypy class WebService: @cherrypy.expose def index(self): response = requests.get('http://example.com') content = response.text # 获取网页的HTML内容 return content if __name__ == '__main__': cherrypy.quickstart(WebService()) ``` 在这个例子中,我们使用 `requests.get` 方法从 `'http://example.com'` 获取网页内容,并将其作为响应返回给客户端。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值