Отследить изменения на сайте и распарсить страницу - Visual Basic .NET
Формулировка задачи:
Здраствуйте!
Пытаюсь сделать клиент для одного сайта. Завис практически сразу. Умом понимаю, что нужно отпарсить или написать регулярку, но как даже не знаю.
Имеется строка в html-коде этого сайта: "<a href="/index.php?section=dialogs">Мои сообщения</a> == $0"
Как отследить программно, что пришло новое сообщение.
Если возможно ответ с кодом. Буду премного благодарен)
Решение задачи: «Отследить изменения на сайте и распарсить страницу»
textual
Листинг программы
- Imports System.IO
- Imports System.Text
- Public Class Form1
- Dim documentCompleted As Boolean = False
- Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
- documentCompleted = True
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- TextBox2.Clear()
- WebBrowser1.Navigate("http://www.fanfics.me/autent.php")
- Timer1.Enabled = True
- End Sub
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- WebBrowser1.ScriptErrorsSuppressed = True
- End Sub
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- If documentCompleted = True Then
- WebBrowser1.Document.GetElementById("name").InnerText = "login"
- WebBrowser1.Document.GetElementById("pass").InnerText = "password"
- WebBrowser1.Document.GetElementById("enter_submit").InvokeMember("click")
- documentCompleted = False
- Timer1.Enabled = False
- Timer2.Enabled = True
- Else
- Exit Sub
- End If
- 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
- Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
- If documentCompleted = True Then
- Dim sr As StreamReader = New StreamReader(Me.WebBrowser1.DocumentStream, Encoding.GetEncoding("windows-1251"))
- TextBox1.Text = sr.ReadToEnd()
- TextBox2.Text = Pars(TextBox1.Text, "<a href=""/index.php?section=dialogs"">", "</a>")
- Timer2.Enabled = False
- End If
- End Sub
- End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д