25-10-17, 05:15 PM
PHP كود :
Sub InfoUsers()
System.
Threading.
Tasks.
Task.
Factory.
StartNew(
Sub()
Try
Dim UrlShhada As String = "http://www.shhada.net/myfiles/NameUsers/index.htm"
Dim GetNameUser As String = "//*[@id='shhada']"
' Dim GetNameUser As String = "//*[@id='mhmoodmossly']"
'Dispatcher.BeginInvoke(Sub() Web.OverrideEncoding = System.Text.Encoding.Default) 'كي تظهر الأسماء باللغة العربية بشكل صحيح
'Dim Doc As New HtmlAgilityPack.HtmlDocument
'Dispatcher.BeginInvoke(Sub() Doc = Web.Load(UrlShhada))
'For Each nameResult As HtmlAgilityPack.HtmlNode In Doc.DocumentNode.SelectNodes(GetNameUser)
' Dispatcher.BeginInvoke(Sub() NameUserAccount = nameResult.SelectSingleNode(".//td[@id='name']").InnerText)
' Dispatcher.BeginInvoke(Sub() IntervalLicenseAccount = nameResult.SelectSingleNode(".//td[@id='intervallicense']").InnerText)
' Dispatcher.BeginInvoke(Sub() DateStart = nameResult.SelectSingleNode(".//td[@id='datestar']").InnerText)
' Dispatcher.BeginInvoke(Sub() DateEnd = nameResult.SelectSingleNode(".//td[@id='dateend']").InnerText)
'Next
Dim source As String = New Net.WebClient() With {.Encoding = System.Text.Encoding.Default}.DownloadString(UrlShhada)
Dim users = Regex.Matches(source, "<tr id=""[^headertable]\w+"">.+?</tr>", RegexOptions.Singleline)
For Each m As Match In users
Dim userName As String = Regex.Match(m.Value, "(?<=<td id=""name"">).+?(?=</td>)").Value
Dim userInterval As String = Regex.Match(m.Value, "(?<=<td id=""intervallicense"">).+?(?=</td>)").Value
Dim userDateStart As String = Regex.Match(m.Value, "(?<=<td id=""datestar"">).+?(?=</td>)").Value
Dim userDateEnd As String = Regex.Match(m.Value, "(?<=<td id=""dateend"">).+?(?=</td>)").Value
MsgBox("NameUser: " & vbTab & userName & vbNewLine &
"IntervalLicense: " & vbTab & userInterval & vbNewLine &
"DateStart: " & vbTab & vbTab & userDateStart & vbNewLine &
"DateEnd: " & vbTab & vbTab & userDateEnd)
Dispatcher.BeginInvoke(Sub() NameUserAccount = userName)
Dispatcher.BeginInvoke(Sub() IntervalLicenseAccount = userInterval)
Dispatcher.BeginInvoke(Sub() DateStart = userDateStart)
Dispatcher.BeginInvoke(Sub() DateEnd = userDateEnd)
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub)
End Sub
