读书人

用WebRequest抓取网页为什么有些网页

发布时间: 2012-05-30 20:20:04 作者: rapoo

用WebRequest抓取网页,为什么有些网页读不到

C# code
            string http = "http://www.baidu.com";            System.Net.WebRequest request = System.Net.WebRequest.Create(http);            System.IO.StreamReader sr = new System.IO.StreamReader(request.GetResponse().GetResponseStream(), System.Text.Encoding.GetEncoding("gb2312"));


我想抓取一个网页,同一个网址,在浏览器里输是有值的,用上面这段代码却无返回值,但用上面这代码搜百度是有值的
这是为什么?是不是那网站用了什么技术屏蔽抓取,怎么解决?

[解决办法]
这方面我刚学习 昨天看到一篇 不知道是否满足你的需求
http://www.cnblogs.com/lixiaofei/archive/2012/02/16/2353795.html
[解决办法]
WebRequest自动将"梦江南/如梦令/枫泾古镇"中的"/"进行了编码,请求地址变了
如果"/"是传的值,理应进行编码,要不与目录容易搞混
[解决办法]
编码在不同的站有所不同吧。。试试其他的Default utf8什么的看看
[解决办法]
可能是编码问题 ,还有要伪造请求头 ,有些网站做了判断 。防止别人来抓 。
我有次去抓 返回值是 “不欢迎您的访问 ”。

读书人网 >asp.net

热点推荐