Ich möchte Titel, Beschreibung und Bilder aus der URL mit dem HTML Agility-Dienstprogramm extrahieren. Bis jetzt kann ich kein Beispiel finden, das einfach zu verstehen ist und mir helfen kann, es zu tun.
Ich würde schätzen, wenn einige mir mit Beispiel helfen können, so dass ich Titel, Beschreibung und Benutzerauswahl extrahieren kann, um Bild von der Reihe des Bildes zu wählen (etwas Ähnliches wie Facebook, wenn wir einen Link teilen).
Aktualisiert:
Ich habe ein Label für Titel, desc und eine Schaltfläche, Textfeld auf der ASPX-Seite und ich fire folgenden Code auf Schaltfläche klicken Ereignis. aber es gibt null für alle Werte zurück. Vielleicht mache ich etwas falsch.
Ich verwendete folgende Beispiel-URLhttp: //edition.cnn.com/2012/10/31/world/asia/india/index.html? hpt = hp_t2
protected void btnGetURLDetails_Click(object sender, EventArgs e)
{
HtmlDocument doc = new HtmlDocument();
var response = txtURL.Text;
doc.LoadHtml(response);
String title = (from x in doc.DocumentNode.Descendants()
where x.Name.ToLower() == "title"
select x.InnerText).FirstOrDefault();
String desc = (from x in doc.DocumentNode.Descendants()
where x.Name.ToLower() == "description"
select x.InnerText).FirstOrDefault();
List<String> imgs = (from x in doc.DocumentNode.Descendants()
where x.Name.ToLower() == "img"
select x.Attributes["src"].Value).ToList<String>();
lblTitle.Text = title;
lblDescription.Text = desc;
}
Der obige Code erhält für alle Variablen einen Nullwert
wenn ich den Code mit diesem modifiziere
HtmlDocument doc = new HtmlDocument();
var url = txtURL.Text;
var webGet = new HtmlWeb();
doc = webGet.Load(url);
In diesem Fall bekomme ich nur den Wert für title & Beschreibung ist wieder null
protected void btnGetURLDetails_Click(object sender, EventArgs e)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri(txtURL.Text));
request.Method = WebRequestMethods.Http.Get;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
String responseString = reader.ReadToEnd();
response.Close();
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(responseString);
String title = (from x in doc.DocumentNode.Descendants()
where x.Name.ToLower() == "title"
select x.InnerText).FirstOrDefault();
String desc = (from x in doc.DocumentNode.Descendants()
where x.Name.ToLower() == "meta"
&& x.Attributes["name"] != null
&& x.Attributes["name"].Value.ToLower() == "description"
select x.Attributes["content"].Value).FirstOrDefault();
List<String> imgs = (from x in doc.DocumentNode.Descendants()
where x.Name.ToLower() == "img"
select x.Attributes["src"].Value).ToList<String>();
lblTitle.Text = title;
lblDescription.Text = desc;
}