VB2010 HtmlAgilityPack SelectSingleNode не возвращает результат

0

Эй, я пытаюсь получить текст из Википедии, используя следующий код. Но он не возвращает никаких значений для SelectSingleNode

        Dim doc As New HtmlAgilityPack.HtmlDocument
        Dim web As New HtmlAgilityPack.HtmlWeb

        doc = web.Load("http://en.wikipedia.org/wiki/Limnio")
        Dim Grape As HtmlNode = doc.DocumentNode.SelectSingleNode("//*[@id='mw-content-text']/table/tbody/tr[6]/td")
        txtPOO.Text = Grape.InnerHtml.Trim

Может быть, я импортировал dll неправильно? Любая помощь будет оценена! (Я новичок)

Теги:
web-scraping
visual-studio-2010
html-agility-pack

1 ответ

0
Лучший ответ

Похоже, вы посмотрели, что XPath через Chrome (или какой-то другой браузер), но, к сожалению, это не так просто, потому что Chrome показывает вам HTML, поскольку он интерпретируется Chrome. Вы, с другой стороны, должны посмотреть на HTML, как он вернулся с сервера.

Когда вы посмотрите на оригинальный HTML-код, вы заметите, что нет элемента tbody, поэтому ваш XPath был почти прав.

Dim Grape As HtmlNode = doc.DocumentNode.SelectSingleNode("//*[@id='mw-content-text']/table/tr[6]/td")

Это должно вернуть узел, который вы ищете.

Что касается тестирования XPaths, лучшим инструментом, о котором я знаю, является тестовый стенд Html Agility Pack, который позволяет загружать страницу и пробовать разные xpaths на ней. Вы также можете увидеть источник страницы, чтобы все было в одном месте. Кроме того, вы увидите HTML, как будто это не так, как это делает хром.

  • 0
    Спасибо!! оно работает! Так что в будущем, как бы я посмотрел XPath определенного узла? Я использовал Chrome, чтобы посмотреть предыдущий XPath
  • 0
    @ user3162084, я видел людей, использующих firebug для firefox для поиска xpath, но я не уверен, что это защитит тот же результат, что и chrome. Я просто смотрю их в Firefox через view source и у меня никогда не было проблем с этим. тем не менее, вы не можете их так искать, но должны build их сами. Еще одним инструментом, который может помочь, является HAP Testbed, я отредактирую ссылку в своем ответе.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню