Отследить изменения на сайте и распарсить страницу - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д