使用HTML敏捷包抓取文本
本文关键字:包抓 取文本 HTML 使用 | 更新日期: 2023-09-27 18:02:13
我正在使用一个字典应用程序,显示从英语到孟加拉语的含义。我在孟加拉语里的意思并不多,但是我有一个英语单词。通过使用这些英语单词,我想用谷歌翻译成孟加拉语,从而使我的字典数据库。所以我放弃了谷歌翻译的意思。我使用了以下代码:
string meaning = "", bangla = "";
HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load("http://translate.google.com/#en/bn/like");
HtmlNodeCollection node = doc.DocumentNode.SelectNodes("//div[@class='gt-baf-cell gt-baf-word']");
if (node != null)
{
foreach (HtmlNode n in node)
{
meaning = n.InnerText;
meaning = meaning.Trim();
MessageBox.Show(meaning);
}
}
else
MessageBox.Show("Sorry,the meaning is not found");
元素为div.gt-baf-cell。在firebug工具上的gt-baf-word。但在这里行不通。它显示"对不起,找不到意思"。这里有什么问题????
我认为没有办法使用htmllagilitypack
我试过了:
web.UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0";
doc = web.Load("http://translate.google.com/#en/bn/like");
webBrowser1.DocumentText = doc.DocumentNode.OuterHtml;
,结果如下:http://jsbin.com/irijiz/1/edit
你可以看到它和你在浏览器上看到的不一样,这就是为什么你的代码不能工作。
有关更多信息和选项,请查看
您的错误代码是HtmlNodeCollection节点= doc.DocumentNode。SelectNodes ("//div [@class = ' gt-baf-cell gt-baf-word"]");
div class = gt-baf-cell gt-baf-word检查doc.DocumentNode.InnerText。
为什么你试着去找不存在的"get - bat -cell get - bat -word"?