2014-09-05 68 views
0

我有一個價格比較網站,從各個網站刮取價格。對於所有網站的代碼工作正常,但一個是返回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; 
     } 
    } 

什麼是解決方法,我該如何繼續報廢網站?

回答

0

這很可能是由網站實施的一種刮擦對策。

嘗試儘可能緊密模擬天生瀏覽器請求越好(特別是頭 - 用戶代理,引用者,內容類型等)

+0

我是不是S如何做到這一點...我使用問題中陳述的代碼,它處理所有事情 – 2014-09-06 07:53:16

0

403禁止 其實服務器是理解和接受你在同一時間要求該服務器拒絕你的要求,那麼請檢查您的HttpRequest頁眉和cookie值

您可以使用網絡調試工具,如提琴手http://www.telerik.com/fiddler/web-debugging 調試請求和響應