获取403错误,同时抓取一个网站页面的数据
问题描述:
我有一个价格比较网站,从各个网站刮取价格。对于所有网站的代码工作正常,但一个是返回403禁止错误。该网站是在Asp.net MVC3框架中开发的。以下是我的代码。获取403错误,同时抓取一个网站页面的数据
public static decimal? GetSpanFromWebSite(string url, string identification)
{
var baseUrl = new Uri(url);
HtmlAgilityPack.HtmlDocument document = new HtmlDocument();
try
{
WebClient client = new WebClient();
document.Load(client.OpenRead(baseUrl));
var div = document.DocumentNode.SelectNodes(identification).FirstOrDefault();
return Convert.ToDecimal(div.InnerHtml);
}
catch (Exception)
{
return null;
}
}
什么是解决方法,我该如何继续报废网站?
答
这很可能是由网站实施的一种刮擦对策。
尝试尽可能紧密模拟天生浏览器请求越好(特别是头 - 用户代理,引用者,内容类型等)
答
403禁止 其实服务器是理解和接受你在同一时间要求该服务器拒绝你的要求,那么请检查您的HttpRequest页眉和cookie值
您可以使用网络调试工具,如提琴手http://www.telerik.com/fiddler/web-debugging 调试请求和响应
我是不是S如何做到这一点...我使用问题中陈述的代码,它处理所有事情 – 2014-09-06 07:53:16