Hi Ich benutze diesen Code, um einige Daten von Ebay zu bekommen.
string url = textBox1.Text;
get_all_link(url);
private void get_all_link(string url)
{
var webGet = new HtmlWeb();
try
{
var document = webGet.Load(url);
MessageBox.Show(url);
var metaTags = document.DocumentNode.SelectNodes("//div[@class='ttl']/a");
if (metaTags != null)
{
foreach (var tag in metaTags)
{
string link = tag.Attributes["href"].Value;
links.Add(link);
}
}
var next = document.DocumentNode.SelectNodes("//td[@class='botpg-next']/a");
if (next != null)
{
string link = "http://www.ebay.com" + next;
get_all_link(link);
}
else return;
}
catch (Exception f)
{
MessageBox.Show(f.ToString());
TextWriter tw = new StreamWriter("data.txt");
tw.WriteLine(f.ToString());
tw.Close();
}
}
Dies ist der zu analysierende Link: http://www.ebay.com/sch/i.html?_nkw=gruen+sara+-quartz+-embassy+-bob+robert+e-elephants+-adidas&_sacat=0&LH_Auction=1&_dmpt=Wristwatches&_odkw=gruen+- sara + -quarz + -embassy + -bob + -robert + -elefanten + -adidas & _osacat = 1 & _trksid = p3286.c0.m270.l1313 und schreibt folgende Ausnahme in die Datei
System.Net.WebException: The remote name could not be resolved: 'www.ebay.comhtmlagilitypack.htmlnodecollection' at System.Net.HttpWebRequest.GetResponse() at HtmlAgilityPack.HtmlWeb.Get(Uri uri, String method, String path, HtmlDocument doc, IWebProxy proxy, ICredentials creds) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlWeb.cs:line 1446 at HtmlAgilityPack.HtmlWeb.LoadUrl(Uri uri, String method, WebProxy proxy, NetworkCredential creds) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlWeb.cs:line 1563 at HtmlAgilityPack.HtmlWeb.Load(String url, String method) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlWeb.cs:line 1152 at HtmlAgilityPack.HtmlWeb.Load(String url) in C:\Source\htmlagilitypack\Trunk\HtmlAgilityPack\HtmlWeb.cs:line 1107 at BackgroundWorker.Form1.get_all_link(String url) in C:\Documents and Settings\maruf\My Documents\Visual Studio 2008\Projects\BackgroundWorker\BackgroundWorker\Form1.cs:line 86
Ich habe einen Beitrag hier überprüft. aber konnte dieses Problem nicht lösen. Wie kann ich das lösen ?? Irgendein Vorschlag ?? Danke im Voraus :)
var next = document.DocumentNode.SelectNodes("//td[@class='botpg-next']/a");
Gibt ein node
und keine string
. Sie müssen eine der Eigenschaften dieses Objekts verwenden, die wahrscheinlich ähnlich wie href
oder link
und diese entsprechend verwenden.
Sie fügen keinen Schrägstrich zwischen dem HtmlAgilityPack.HtmlNodeCollection
und dem Pfad hinzu, und Sie fügen einer HtmlAgilityPack.HtmlNodeCollection
eine HtmlAgilityPack.HtmlNodeCollection
hinzu, die nicht funktioniert.