使用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。但在这里行不通。它显示"对不起,找不到意思"。这里有什么问题????

使用HTML敏捷包抓取文本

我认为没有办法使用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"?