Мар 10, 2012 -
Уроки Visual Basic.NET
7 комментариев
Уроки Visual Basic.NET
7 комментариев Функция парсинга данных по тегам
Добрый день.
Сегодня рассмотрим функцию для данных с сайта по тегам.
Функция не сложная, но для начинающих может показаться сложной.
Разберем пример на моем блоге.
Попробуем вытащить текст заголовка (знаю, что можно с помощью класса с одной строкой кода это сделать, но сейчас речь идет о другом) по тегам <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://programistik.top")) 'Загружаем блог, как строку, то есть получаем 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"
Тоже самое вы можете проделать и с другими сайтами и тегами, только скажу, что не всегда так легко можно вытянуть текст заключенный в теги.
Экспериментируйте, а если что-нибудь не получается или не понятно, то жду ваши вопросы в комментарии.
Метки: Функция парсинга данных по тегам с сайтов
Евгений
Просмотров: 12 716
Запись опубликована в 16:38