2012-05-11 36 views
25

Đây có phải là cách tốt nhất để tải trang web khi cạo không?Gói Agility Html. Tải và xóa trang web

HttpWebRequest oReq = (HttpWebRequest)WebRequest.Create(url); 
HttpWebResponse resp = (HttpWebResponse)oReq.GetResponse(); 

var doc = new HtmlAgilityPack.HtmlDocument(); 

doc.Load(resp.GetResponseStream()); 
var element = doc.GetElementbyId("//start-left"); 
var element2 = doc.DocumentNode.SelectSingleNode("//body"); 
string html = doc.DocumentNode.OuterHtml; 

Tôi đã xem HtmlWeb().Load để tải trang web. Đó có phải là một lựa chọn tốt hơn để tải và loại bỏ trang web không?


Ok tôi sẽ thử thay vào đó.

HtmlDocument doc = web.Load(url); 

Bây giờ khi tôi nhận được doc của mình và không nhận được tài sản như vậy. Không ai giống như SelectSingleNode. Người duy nhất tôi có thể sử dụng là GetElementById và điều đó có hiệu quả nhưng tôi muốn có một lớp học.

Tôi có cần làm như thế này không?

var htmlBody = doc.DocumentNode.SelectSingleNode("//body"); 
htmlBody.SelectSingleNode("//paging"); 
+0

Bạn cũng có thể chồng/thêm các nút của nút. ví dụ: var htmlBody = doc.DocumentNode.SelectSingleNode ("// body"). SelectSingleNode ("// paging"); –

Trả lời

62

Dễ sử dụng hơn HtmlWeb.

string Url = "http://something"; 
HtmlWeb web = new HtmlWeb(); 
HtmlDocument doc = web.Load(Url); 
+0

bạn có thể vui lòng xem qua liên kết này ..có một số vấn đề liên quan đến HtmlWeb() Tải (Url) không tải nội dung đầy đủ của trang web .. hãy giúp tôi //// http://stackoverflow.com/questions/18955793/ why-htmlweb-loadurl-not-loading-page-with-full-content –

Các vấn đề liên quan