Теги с меткой " Функция парсинга данных по тегам с сайтов"

Функция парсинга данных по тегам

Добрый день.

Сегодня рассмотрим функцию для парсинга данных с сайта по тегам.

Функция не сложная, но для начинающих может показаться сложной.

Разберем пример на моем блоге.

Попробуем вытащить текст заголовка (знаю, что можно с помощью класса WebBrowser с одной строкой кода это сделать, но сейчас речь идет о другом) по тегам <title> </title>.

Imports System.Net
Imports System.IO
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim WC As New WebClient ' Объявляем новый класс WebClient для обмена данными с ресурсом, заданным URI
        Dim HtmlText As String, Result As String
        HtmlText = WC.DownloadString(New Uri("https://ds-release.ru")) 'Загружаем блог, как строку, то есть получаем html код главной страницы блога.
        WC.Dispose()
        Result = Pars(HtmlText, ("<title>"), ("</title>")) 'Строка с html кодом главной страницы блога, первый открывающий тег, второй закрывающий тег
        MsgBox(Result) 'Результат
    End Sub
    ' Функция для парсинга. Советую просмотреть шаг за шагом и посмотреть на выполнение.
    Public Function Pars(ByRef strSource As String, ByRef strStart As String, ByRef strEnd As String) As String
        Dim iPos As Integer, iEnd As Integer
        Dim strResult As String
        iPos = strSource.IndexOf(strStart, 0)
        iEnd = strSource.IndexOf(strEnd, iPos + strStart.Length)
        If iPos <> -1 AndAlso iEnd <> -1 Then
            strResult = strSource.Substring(iPos + strStart.Length, iEnd - (iPos + strStart.Length))
        End If
        Return strResult
    End Function

Результат будет - "Уроки Visual Basic.NET"

Тоже самое вы можете проделать и с другими сайтами и тегами, только скажу, что не всегда так легко можно вытянуть текст заключенный в теги.

Экспериментируйте, а если что-нибудь не получается или не понятно, то жду ваши вопросы в комментарии.

Класс WebClient

  Метки:
  Евгений
  Просмотров: 12 249
  Запись опубликована в 16:38