<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>白舟工作室 &#187; aspx</title>
	<atom:link href="http://www.baizoo.cn/tag/aspx/feed" rel="self" type="application/rss+xml" />
	<link>http://www.baizoo.cn</link>
	<description>——长风破浪会有时</description>
	<lastBuildDate>Mon, 30 Jan 2012 08:09:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>aspx采集alexa方法整理</title>
		<link>http://www.baizoo.cn/archives/919.html</link>
		<comments>http://www.baizoo.cn/archives/919.html#comments</comments>
		<pubDate>Fri, 22 Jan 2010 20:53:48 +0000</pubDate>
		<dc:creator>baizoo</dc:creator>
				<category><![CDATA[技术爱好]]></category>
		<category><![CDATA[aspx]]></category>
		<category><![CDATA[采集]]></category>

		<guid isPermaLink="false">http://www.baizoo.cn/?p=919</guid>
		<description><![CDATA[刚学了php采集的技巧，正好手头有个aspx相关的源码，就顺便学习一下。 首先提个aspx的小技巧，vs里面默认的aspx页面是设计和编程分开的，两者分别在.aspx和.cs页面，而它们关联的前提是在.aspx页面里添加了下面代码： 如果要把代码直接写到aspx页面里，则头部代码改为 言归正传，下面整理aspx采集alexa值的方法，这里有个获取页面源码的小函数GetHtml public HttpWebRequest request; public HttpWebResponse response; public string GetHtml(string url, string encode) { string str = null; request = (HttpWebRequest)WebRequest.Create(url); request.Method = &#8220;Get&#8221;; request.ContentType = &#8220;application/x-www-form-urlencoded&#8221;; response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { StreamReader sr = null; switch (encode) { case &#8220;UTF-8&#8243;: sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8); break; case &#8220;GBK&#8221;: [...]]]></description>
			<content:encoded><![CDATA[<p>刚学了php采集的技巧，正好手头有个aspx相关的源码，就顺便学习一下。</p>
<p>首先提个aspx的小技巧，vs里面默认的aspx页面是设计和编程分开的，两者分别在.aspx和.cs页面，而它们关联的前提是在.aspx页面里添加了下面代码：<br />
<coolcode><br />
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="web._Default" %><br />
</coolcode></p>
<p>如果要把代码直接写到aspx页面里，则头部代码改为<br />
<coolcode lang="c#"><br />
<%@ Page Language="C#" AutoEventWireup="true" %><br />
<%@ Import Namespace="System.IO" %><br />
<%@ Import Namespace="System.Net" %><br />
</coolcode></p>
<p>言归正传，下面整理aspx采集alexa值的方法，这里有个获取页面源码的小函数GetHtml<br />
<span id="more-919"></span><coolcode><br />
    public HttpWebRequest request;<br />
    public HttpWebResponse response;<br />
    public string GetHtml(string url, string encode)<br />
    {<br />
        string str = null;<br />
        request = (HttpWebRequest)WebRequest.Create(url);<br />
        request.Method = &#8220;Get&#8221;;<br />
        request.ContentType = &#8220;application/x-www-form-urlencoded&#8221;;<br />
        response = (HttpWebResponse)request.GetResponse();<br />
        if (response.StatusCode == HttpStatusCode.OK)<br />
        {<br />
            StreamReader sr = null;<br />
            switch (encode)<br />
            {<br />
                case &#8220;UTF-8&#8243;:<br />
                    sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);<br />
                    break;<br />
                case &#8220;GBK&#8221;:<br />
                    sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(&#8220;GBK&#8221;));<br />
                    break;<br />
                case &#8220;GB2312&#8243;:<br />
                    sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(&#8220;GB2312&#8243;));<br />
                    break;<br />
                default:<br />
                    sr = new StreamReader(response.GetResponseStream(), Encoding.Default);<br />
                    break;<br />
            }<br />
            str = sr.ReadToEnd();<br />
        }<br />
        return str;<br />
    }<br />
</coolcode></p>
<p>调用这个函数<br />
<coolcode lang="c#"><br />
    protected void Page_Load(object sender, EventArgs e)<br />
    {<br />
        string url= Request.QueryString["url"];<br />
        string html=GetHtml(&#8220;http://www.alexa.com/siteinfo/&#8221;+url,&#8221;UTF-8&#8243;);<br />
        string regex = @&#8221;style=&#8221;"margin-bottom:-2px;&#8221;"/> (?<alexa>[^<]*)</a>&#8220;;//用正则过滤得到需要的内容alexa值<br />
        MatchCollection mc = Regex.Matches(html, regex, RegexOptions.IgnoreCase);//获取正则匹配的内容<br />
        string alexa = null;<br />
        foreach (Match m in mc)<br />
        {<br />
            alexa = m.Groups["alexa"].Value.ToString();<br />
        }<br />
        divshow.InnerHtml = alexa;//把alexa值赋值给divshow<br />
    }<br />
</coolcode></p>
<p>页面里加个显示控件<br />
<coolcode><br />
<body></p>
<form id="form1" runat="server">
<div runat="server" id="divshow">
    </div>
</p></form>
<p></body></p>
<p>最终效果浏览：http://localhost/alexa.aspx?url=baizoo.cn<br />
</coolcode></p>
]]></content:encoded>
			<wfw:commentRss>http://www.baizoo.cn/archives/919.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

