منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : برجاء المساعدة فى تعديل هذا الكود (htmlDocument.DocumentNode.SelectNodes)
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
(26-05-17, 02:27 AM)سعود كتب : [ -> ]ممكن تستخدم كود قد تحتاج التعديل عليه ليلبي طلبك لكن قم بتجربته.
PHP كود :
                                       Dim str As String """https://www\.facebook\.com/profile\.php\?id=([0-9]{1,}).*?;"""
 
                                       Dim reg As New Regex(strRegexOptions.IgnoreCase)
 
                                       Dim mc As MatchCollection reg.Matches(html)
 
                                       For Each ma As Match In mc
                                            If ma
.Success Then
                                                TextBox2
.AppendText(ma.Groups(1).Value vbNewLine)
 
                                           End If
 
                                       Next 

سبب تاخري في الرد اني احاول قدر المستطاع ان استفيد من امكانات  HtmlAgilityPack لكن لم اتمكن .
لذلك اعتذر عن التاخير

ولا يهمك اخى الكريم

بالفعل فى الرد السابق كان يوجد حل بتقنية الريجكس

ولكن ليس هو المطلوب
لانى اريدها عن طريق HtmlAgilityPack

لكى اتعلم بها اكثر ولكى افهم ما الخطأ فى الكوود الخاص بى

ولكن كتر خيرك على محاولة المساعدة

سانتظر ربما يفيدنا احد الاعضاء حتى نستفيد جميعا
ليس بالضرورة ان يكون هناك خطا ربما يتطلب إجراء او فكرة اخرى للملف.
فكما تشاهد بالصورة التالية :


PHP كود :
Imports System.Net
Imports System
.Text
Public Class Form1
    Dim html 
As String ""
 
   Dim doc As HtmlAgilityPack.HtmlDocument
    Dim wc 
As WebClient
    Private Sub Button1_Click
(sender As ObjectAs EventArgsHandles Button1.Click
        If b
.IsBusy False Then b.RunWorkerAsync()
 
   End Sub
    Private Sub b_DoWork
(sender As ObjectAs System.ComponentModel.DoWorkEventArgsHandles b.DoWork
        doc 
= New HtmlAgilityPack.HtmlDocument
        wc 
= New WebClient
        wc
.Encoding Encoding.UTF8
        html 
wc.DownloadString("http://vb4arb.com/vb/index.php")
 
       doc.LoadHtml(html)
 
       For Each h As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//div[@class='forumbit-content']/strong/a")
 
           Me.Invoke(New MethodInvoker(Sub()
 
                                           ListBox1.Items.Add(h.InnerText.Trim)
 
                                           ListBox2.Items.Add(h.Attributes("href").Value)
 
                                       End Sub))
 
       Next
    End Sub
End 
Class 


لم يحدث خطا .....قد تكون هناك مناورات باستخدام الجافاسكريبت تعقد العملية...لا ادري لكن ننتظر.
(26-05-17, 08:52 PM)سعود كتب : [ -> ]ليس بالضرورة ان يكون هناك خطا ربما يتطلب إجراء او فكرة اخرى للملف.
فكما تشاهد بالصورة التالية :


PHP كود :
Imports System.Net
Imports System
.Text
Public Class Form1
    Dim html 
As String ""
 
   Dim doc As HtmlAgilityPack.HtmlDocument
    Dim wc 
As WebClient
    Private Sub Button1_Click
(sender As ObjectAs EventArgsHandles Button1.Click
        If b
.IsBusy False Then b.RunWorkerAsync()
 
   End Sub
    Private Sub b_DoWork
(sender As ObjectAs System.ComponentModel.DoWorkEventArgsHandles b.DoWork
        doc 
= New HtmlAgilityPack.HtmlDocument
        wc 
= New WebClient
        wc
.Encoding Encoding.UTF8
        html 
wc.DownloadString("http://vb4arb.com/vb/index.php")
 
       doc.LoadHtml(html)
 
       For Each h As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//div[@class='forumbit-content']/strong/a")
 
           Me.Invoke(New MethodInvoker(Sub()
 
                                           ListBox1.Items.Add(h.InnerText.Trim)
 
                                           ListBox2.Items.Add(h.Attributes("href").Value)
 
                                       End Sub))
 
       Next
    End Sub
End 
Class 


لم يحدث خطا .....قد تكون هناك مناورات باستخدام الجافاسكريبت تعقد العملية...لا ادري لكن ننتظر.

رائع اخى سعود
اعتقد انك الان متشوق لرؤية الحل

نفس ما حدث معى متشوق لذلك لان نفس الفكرة تعمل على اشياء اخرى ولكن فى هذا الطلب لا تعمل

ربما فعلا يكون فيها شغلات بالجافا سكربت وهذا ما يزودنا اشتياقا لرؤية الحل
جرب مثل هذا الكود لعل و عسى ينجح معك

PHP كود :
           Dim Find HtmlDocument.DocumentNode.Descendants("div").Where(Function(d_
                       d
.Attributes.Contains("class"AndAlso d.Attributes("class").Value.Contains("_1yt")) 
hidden_elem
اظن هذه فيها سر ما.
(27-05-17, 03:51 AM)ابو ليلى كتب : [ -> ]جرب مثل هذا الكود لعل و عسى ينجح معك

PHP كود :
           Dim Find HtmlDocument.DocumentNode.Descendants("div").Where(Function(d_
                       d
.Attributes.Contains("class"AndAlso d.Attributes("class").Value.Contains("_1yt")) 

هل جربته عندك واشتغل؟
لانه مشتغلش معايا

(28-05-17, 06:45 AM)سعود كتب : [ -> ]hidden_elem
اظن هذه فيها سر ما.

ربما
كود :
'htmlSource النص المصدري

        Dim ms As MatchCollection = Regex.Matches(htmlSource, "(?<=id="")\d{15}"">.+?(?=<)")
        For Each m As Match In ms

            Dim s() As String = Split(m.Value, """>")
            If s.Count = 2 Then

                Dim accountID As String = s(0)
                Dim accountName As String = s(1)

                MsgBox("Account ID: " & vbTab & accountID & vbNewLine & "Account Name: " & vbTab & accountName)

            End If

        Next
(28-05-17, 05:21 PM)alma2 كتب : [ -> ]
كود :
       'htmlSource النص المصدري

       Dim ms As MatchCollection = Regex.Matches(htmlSource, "(?<=id="")\d{15}"">.+?(?=<)")
       For Each m As Match In ms

           Dim s() As String = Split(m.Value, """>")
           If s.Count = 2 Then

               Dim accountID As String = s(0)
               Dim accountName As String = s(1)

               MsgBox("Account ID: " & vbTab & accountID & vbNewLine & "Account Name: " & vbTab & accountName)

           End If

       Next

شكرا لك اخى الفاضل
ولكن انا وبعض الاعضاء منتظرين حل ب HtmlAgilityPack

كما وضحنا فى الردود السابقة ولكن شكرا لمساعدتك
الصفحات : 1 2