2012-05-11 5 views
25

क्या यह सबसे अच्छा स्क्रैप करते समय वेबपृष्ठ प्राप्त करने का तरीका है?एचटीएमएल एजिलिटी पैक। लोड और स्क्रैप वेबपृष्ठ

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; 

मैं HtmlWeb().Load देखा है एक वेबपेज मिलता है। क्या यह लोड करने और वेबपृष्ठ को स्क्रैप करने का बेहतर विकल्प है?


ठीक है मैं कि बजाय कोशिश करेंगे।

HtmlDocument doc = web.Load(url); 

अब जब मैं अपने doc मिला है और इसलिए टोपी गुण नहीं मिला। कोई भी SelectSingleNode पसंद नहीं है। केवल एक ही मैं उपयोग कर सकता हूं GetElementById है, और यह काम करता है लेकिन मुझे कक्षा प्राप्त करने की इच्छा है।

क्या मुझे ऐसा करने की ज़रूरत है?

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

आप नोड चयनों को भी ढेर/जोड़ सकते हैं। उदाहरण: var htmlBody = doc.DocumentNode.SelectSingleNode ("// body")। सिंगलिंग नोड ("// पेजिंग") चुनें; –

उत्तर

62

एचटीएमएल वेब का उपयोग करना बहुत आसान है।

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

क्या आप कृपया इस लिंक से गुजर सकते हैं .. HTMLWeb() के बारे में कुछ समस्याएं लोड करना (लोड) (यूआरएल) यह वेबपृष्ठ की पूरी सामग्री लोड नहीं कर रहा है .. कृपया मेरी मदद करें //// http://stackoverflow.com/questions/18955793/ क्यों-htmlweb-loadurl-नहीं लोडिंग-पेज-साथ-पूर्ण सामग्री –