讀取網頁(1)

如果你要搞個 spider 或是 bot,需要讀取網頁的話,用 WebClient 就綽綽有餘了~
using System.Net;

public class Network
{
    public static string wget( string url )
    {
        WebClient _client=new WebClient();
        string result="";
            
        try {
            // 藉著修改 Header,可以用來模擬某特定 Browser,以下是模擬 IE 6
            _client.Headers.Add("Accept","image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*");
            _client.Headers.Add("Accept-Language","zh-tw");
            _client.Headers.Add("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)");

            // 表示支援壓縮,也就是說,你可以丟壓縮過的資料過來,我來解~
            //_client.Headers.Add("Accept-Encoding","gzip, deflate");

            // read
            System.IO.Stream objStream=_client.OpenRead( url );

            // 要知道正確的編碼,再去讀取~.Net會幫我們自動轉為 unicode 字串。這邊預設都是 UTF8
            System.IO.StreamReader _reader=new System.IO.StreamReader(objStream,System.Text.Encoding.UTF8);
            //System.IO.StreamReader _reader=new System.IO.StreamReader(objStream,System.Text.Encoding.GetEncoding(950));
            result = _reader.ReadToEnd();
        }
        catch( Exception ex ) {
            throw ex;
        }
        finally {
        }
            
        return result;
    }
}

所以我們就可以這麼用
Console.WriteLine( Network.wget("http://www.google.com.tw") );

目前有個決定性的缺點:必須先知道網頁編碼,我們才能讀到正確的文字~有辦法先知道網頁的編碼,再去決定要怎麼讀取嗎?

奶爸心得(1)-奶粉與紙尿布

地區:新店安坑/中和
我家用的是明治嬰兒奶粉,目前最低價在南勢角威安藥局:309。
家裏附近的藥局則是 319,一般大賣場是 325,價差可以差到 1x 元,不可說不大。
明治算是蠻便宜的了,其他牌子的奶粉可想而知。
紙尿布的話,我家並沒有特定愛用品牌,大體來說是混用,就是貴一點/比較舒服的在晚上用,便宜的/感覺上較差的在白天用。。
最早我娘是用布的尿布,後來先暫停,因為布的尿布太久沒換的話,容易造成上衣濕掉,所以必須經常更換。
冬天經常更換尿布又怕小朋友著涼,後來我娘還是先用紙尿布,等夏天的時候再說。
最低價是在全聯福利中心,大潤發有集點活動,藥局可能也有,但卻都不一定有全聯那麼便宜。
2007/3/10 更新:
奶粉與尿布最低價出現在永和中正路上的宏恩連鎖藥局,奶粉 299,尿布居然比全聯硬是再便宜了十元左右~