c# - scraping - Paquete de agilidad HTML. Cargar y raspar página web
htmlagilitypack nuget (1)
¿Es esta la mejor manera de obtener una página web al raspar?
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;
He visto HtmlWeb().Load
para obtener una página web. ¿Es esa una mejor alternativa para cargar y raspar la página web?
Ok, lo intentaré en su lugar.
HtmlDocument doc = web.Load(url);
Ahora, cuando obtuve mi doc
y no obtuve tantas propiedades de mutch. A nadie le gusta SelectSingleNode
. El único que puedo usar es GetElementById
, y eso funciona, pero quiero obtener una clase.
¿Necesito hacerlo así?
var htmlBody = doc.DocumentNode.SelectSingleNode("//body");
htmlBody.SelectSingleNode("//paging");
Mucho más fácil de usar HtmlWeb.
string Url = "http://something";
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(Url);