Отследить изменения на сайте и распарсить страницу - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Здраствуйте! Пытаюсь сделать клиент для одного сайта. Завис практически сразу. Умом понимаю, что нужно отпарсить или написать регулярку, но как даже не знаю. Имеется строка в html-коде этого сайта: "<a href="/index.php?section=dialogs">Мои сообщения</a> == $0" Как отследить программно, что пришло новое сообщение. Если возможно ответ с кодом. Буду премного благодарен)

Решение задачи: «Отследить изменения на сайте и распарсить страницу»

textual
Листинг программы
  1. Imports System.IO
  2. Imports System.Text
  3. Public Class Form1
  4.     Dim documentCompleted As Boolean = False
  5.     Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
  6.         documentCompleted = True
  7.     End Sub
  8.     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  9.         TextBox2.Clear()
  10.         WebBrowser1.Navigate("http://www.fanfics.me/autent.php")
  11.         Timer1.Enabled = True
  12.     End Sub
  13.     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  14.         WebBrowser1.ScriptErrorsSuppressed = True
  15.     End Sub
  16.  
  17.     Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
  18.         If documentCompleted = True Then
  19.             WebBrowser1.Document.GetElementById("name").InnerText = "login"
  20.             WebBrowser1.Document.GetElementById("pass").InnerText = "password"
  21.             WebBrowser1.Document.GetElementById("enter_submit").InvokeMember("click")
  22.             documentCompleted = False
  23.             Timer1.Enabled = False
  24.             Timer2.Enabled = True
  25.         Else
  26.             Exit Sub
  27.         End If
  28.     End Sub
  29.     Public Function Pars(ByRef strSource As String, ByRef strStart As String, ByRef strEnd As String) As String
  30.         Dim iPos As Integer, iEnd As Integer
  31.         Dim strResult As String
  32.         iPos = strSource.IndexOf(strStart, 0)
  33.         iEnd = strSource.IndexOf(strEnd, iPos + strStart.Length)
  34.         If iPos <> -1 AndAlso iEnd <> -1 Then
  35.             strResult = strSource.Substring(iPos + strStart.Length, iEnd - (iPos + strStart.Length))
  36.         End If
  37.         Return strResult
  38.     End Function
  39.     Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
  40.         If documentCompleted = True Then
  41.  
  42.             Dim sr As StreamReader = New StreamReader(Me.WebBrowser1.DocumentStream, Encoding.GetEncoding("windows-1251"))
  43.             TextBox1.Text = sr.ReadToEnd()
  44.             TextBox2.Text = Pars(TextBox1.Text, "<a href=""/index.php?section=dialogs"">", "</a>")
  45.             Timer2.Enabled = False
  46.         End If
  47.     End Sub
  48.  
  49.  
  50. End Class

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы