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

Добрый день.

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

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

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

Попробуем вытащить текст заголовка (знаю, что можно с помощью класса 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("http://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

googleplus Функция парсинга данных по тегам
livejournal Функция парсинга данных по тегам
  Метки:
  Евгений
  Просмотров: 6 782
  Запись опубликована в 16:38

Запись текста в текстовый файл

Будем записывать текст из TextBox1 в текстовый файл.

На форму кидаем один TextBox и две кнопки (Button).

Первый способ записи:

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim сохранить As New SaveFileDialog ' Создаем новый элемент "диалог сохранения"
        сохранить.Filter = "Файлы .txt|*.txt" ' Фильтр для сохранения(.txt)
        If сохранить.ShowDialog = DialogResult.Cancel Then Exit Sub ' Обезопасим себя от ошибки, если мы не нажали на ок, то диалог закроется.
        Dim запись As String ' Переменная для хранения текста
        запись = TextBox1.Text ' Заполняем переменную
        FileOpen(1, сохранить.FileName, OpenMode.Output) ' Создает и открывает файл
        Print(1, запись, "") ' Записывает текст в файл
        FileClose(1) ' Закрывает файл
        MsgBox("Сохранился в - " & сохранить.FileName, , "Запись текста в текстовый файл") ' Показываем сообщение куда сохранился файл
    End Sub
End Class

filestreet Запись текста в текстовый файл

Второй способ:

  Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim сохранить As New SaveFileDialog ' Создаем новый элемент "диалог сохранения"
        сохранить.Filter = "Файлы .txt|*.txt" ' Фильтр для сохранения(.txt)
        If сохранить.ShowDialog = DialogResult.Cancel Then Exit Sub ' Обезопасим себя от ошибки, если мы не нажали на ок, то диалог закроется.
        Dim запись As New System.IO.StreamWriter(сохранить.FileName) ' Реазилзует запись символов в файл
        запись.Write(TextBox1.Text) ' Записываем в файл текст
        запись.Close() ' Закрываем файл
        MsgBox("Сохранился в - " & сохранить.FileName, , "Запись текста в текстовый файл") ' Показываем сообщение куда сохранился файл
    End Sub

filestreet2 Запись текста в текстовый файл

Полная статья - Запись и чтение в VB.NET

googleplus Запись текста в текстовый файл
livejournal Запись текста в текстовый файл
  Метки:
  Евгений
  Просмотров: 11 614
  Запись опубликована в 14:03

Инфошка :)

Блог о программировании приветствует вас!

Наш блог запустился и готов к работе.

Мы приветствуем всех участников блога, которые помогут в развитии блога своими статьями, исходниками, программами, комментариями или просто просмотром!

OpenBlog Инфошка :)

googleplus Инфошка :)
livejournal Инфошка :)
  Метки:
  Евгений
  Просмотров: 1 450
  Запись опубликована в 12:27

Страниц:«1...7677787980818283