Я хотел бы знать, есть ли простой способ разбора HTML-кода в vb.net. Я знаю, что HTML не является подмножеством sctrict XML, но было бы неплохо, если бы с ним можно было обращаться так. Есть ли что-нибудь, что позволит мне анализировать HTML в XML-виде на VB.net?Как вы разбираете HTML-код в vb.net
ответ
Мне нравится Html Agility pack - это очень удобный для разработчиков, бесплатный и исходный код.
Но самодокументационный код для разработчиков - это. Я понимаю, что термин «дружественный к разработчику» может быть очень субъективным, однако я попробовал несколько способов разобрать/изменить код HTML, и этот простой пример (для .NET и без сборов), что вы можете получить и отсутствие документации не меняйте его. Это жестокая реальность. – TcKs
Мне не удалось получить пакет гибкости HTML, чтобы сделать что-нибудь полезное для меня. Все, что я получал, - это прямой вывод HTML в текстовое поле, а не разобранный форматированный HTML. –
@JoelR. Вы сделали что-то ужасно неправильно. Вы читали некоторые уроки об этом? – TcKs
Хорошо ли это? Если HTML на самом деле хорошо сформирован, он может быть проанализирован как XML. Если это суп-тег и есть незакрытые элементы, и я бы подумал, что вам придется охотиться за сторонним решением.
Что случилось с доступом к объектной модели документа (dom) с помощью mshtml? –
Если ваш HTML соответствует стандартам XHTML, вы можете много раз анализировать и обрабатывать, используя классы пространства имен System.XML.
Если, с другой стороны, если вы анализируете то, что веб-разработчики называют «суп-тег», вам понадобится сторонний парсер, например HTML Agility Pack.
Это может быть лишь частичное решение вашей проблемы, если вы пытаетесь понять, как браузер будет интерпретировать ваш HTML, поскольку каждый браузер немного разбирается в супе тегу.
'добавить прог реф тоже: Microsoft.mshtml
', то на странице:
Imports mshtml
Function parseMyHtml(ByVal htmlToParse$) As String
Dim htmlDocument As IHTMLDocument2 = New HTMLDocumentClass()
htmlDocument.write(htmlToParse)
htmlDocument.close()
Dim allElements As IHTMLElementCollection = htmlDocument.body.all
Dim allInputs As IHTMLElementCollection = allElements.tags("a")
Dim element As IHTMLElement
For Each element In allInputs
element.title = element.innerText
Next
Return htmlDocument.body.innerHTML
End Function
Как выяснил here:
не использует ли это те же библиотеки, которые IE использует для загрузки DOM? Я пробовал это раньше, но он всегда чувствует себя настолько грязным ... – tooleb
Не используйте ловкостью пакет, просто использовать Mshtml библиотеку для доступ к dom, это то, что используется и отлично подходит для прохождения через HTML-элементы.
Пакет ловкости неприятен и излишне хаки, если вы спросите меня, mshtml - это путь. Посмотрите на msdn.
- 1. Как вы разбираете болтаться еще?
- 2. Как вы разбираете эту строку?
- 3. Как вы разбираете массив словарей в Swift?
- 4. Как вы разбираете файл в вектор токенов?
- 5. как вы разбираете json в swift?
- 6. Как вы разбираете этот JSON в Python?
- 7. Как вы разбираете многоуровневые «узлы» в тексте?
- 8. Как вы разбираете отношения в MWS GetMatchingProduct?
- 9. Как вы разбираете имя файла в bash?
- 10. Как вы разбираете данные JSON в Arduino
- 11. как вы разбираете строку в vb6?
- 12. Как вы разбираете JSON-файл в Racket?
- 13. Как вы разбираете дату в формате:
- 14. Как вы разбираете подстроку из ячейки Excel?
- 15. как вы разбираете выходные данные скрипта javascript
- 16. Как вы разбираете строку в массив так же, как ARGV?
- 17. Как вы разбираете именованный параметр в маршрут в Синатре?
- 18. В Java, как вы разбираете строку в число со значением?
- 19. Как вы безопасно разбираете недоверенный ввод в Common Lisp?
- 20. как вы разбираете файлы журнала в R быстро?
- 21. Как вы разбираете отношения узлов и узлов в pyparsing?
- 22. Как бы вы разбираете в Баш #extra_modules <string>
- 23. AngularJS Как вы разбираете JSON в несколько div?
- 24. Как вы извлекаете и разбираете xml в node.js?
- 25. Как вы разбираете абзац текста в предложения? (perferrably in Ruby)
- 26. Как вы разбираете большие SQL-скрипты в партии?
- 27. php/dos: Как вы разбираете файл экспорта regedit?
- 28. как вы разбираете запятые-значения (csv) с awk?
- 29. Как вы разбираете порт записи SRV из результата dig?
- 30. Как вы разбираете json после импорта json2.js?
Это может помочь нам ответить, если вы укажете, что вы хотите сделать с ним после его анализа. – Rob
На данный момент я заинтересован в возможности выбора всех ссылок, текста и изображений в определенных div. Если класс или id div будет изменяться со страницы на страницу. – tooleb
похоже, что пакет Agility, вероятно, сработает для меня. Есть ли другие варианты ???? – tooleb