我正在編寫自己的C#4.0 WPF特定網絡爬蟲。目前我正在使用htmlagilitypack處理HTML文檔。檢查URL是否爲text/html或其他文件類型,如圖像
現在下面我下載
HtmlWeb hwWeb = new HtmlWeb();
hwWeb.UserAgent = lstAgents[GenerateRandomValue.GenerateRandomValueMin(irAgentsCount, 0)];
hwWeb.PreRequest = OnPreRequest;
HtmlDocument hdMyDoc;
hwWeb = new HtmlWeb
{
AutoDetectEncoding = false,
OverrideEncoding = Encoding.GetEncoding("iso-8859-9"),
};
hdMyDoc = hwWeb.Load(srPageUrl);
private static bool OnPreRequest(HttpWebRequest request)
{
request.AllowAutoRedirect = true;
return true;
}
頁現在我的問題的方式是我希望能夠確定給定的URL是否爲text/html(抓取的內容)或圖像/ PDF只是其他類型。我怎樣才能做到這一點 ?
非常感謝您的回答。
C#4.0中,WPF應用程序
+1。考慮首先使用HEAD請求,而不是GET。它會給你內容類型(如果服務器支持)。 – 2012-02-03 02:35:12
這就是我要求的。如何獲取頭部請求的內容類型?我仍然可以用htmlagilitypack下載內容。 – MonsterMMORPG 2012-02-03 03:27:55
@MonsterMMORPG - 我從來沒有直接使用HtmlAgilityPack(雖然基於API,我知道你可以通過一些Html來處理)。正如其他人所說,這似乎不可能直接與HtmlAgilityPack。使用'HtmlWebRequest'和'HtmlWebResponse',你可以使用內建的'ContentType'屬性來獲得內容類型。 – 2012-02-03 03:31:15