私は2つのリストを持っています:
public List<string> my_link = new List<string>();
public List<string> english_word = new List<string>();
ページからいくつかのリンクをスクレイピングして「my_link」に保存しています。このために、次のようなコードを使用しています。
HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load("http://search.freefind.com/find.html?id=59478474&pid=r&ics=1&query=" + x);
HtmlNodeCollection nodes=doc.DocumentNode.SelectNodes("//font[@class='search-results']//a");
try
{
foreach (HtmlNode n in nodes)
{
link = n.InnerHtml;
link = link.Trim();
my_link.Add(link);
}
}
catch (NullReferenceException )
{
MessageBox.Show("NO link found ");
}
次に、スクラップしたリンクにあるコンテンツをスクラップし、各リンクのコンテンツをに保存しましenglish_word.Add(q);
た。最後のリンクを除くすべてのリンクからコンテンツをスクラップできます。私のコードはそのようなものです。
foreach (string ss in my_link)
{
HtmlWeb web2 = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc2 = web2.Load(ss);
HtmlNodeCollection nodes2 = doc2.DocumentNode.SelectNodes("//table[@id='table1']//tr[position()>1]//td[position()=2]");
try
{
foreach (HtmlNode nn in nodes2)
{
q = nn.InnerText;
q = System.Net.WebUtility.HtmlDecode(q);
q = q.Trim();
english_word.Add(q);
}
}
catch (NullReferenceException ex)
{
MessageBox.Show("No english word is found ");
}
}
最後のリンクについてのみ、「英語の単語が見つかりません」と表示されます
私は何が間違っているのですか?