تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
استخراج نص من webbrowser ووضعه بrichtextbox
#1
مرحبا 
بدي طريقة من خلالها استطيع عمل بحث في هذه الصفحة على سؤال معين 
واذا كان السؤال موجود يقوم بعرض السؤال والخيارات مع الاجابة(Answe) في richtextbox
https://arabi.123.st/h6-page
https://arabi.123.st/h5-page

الادوات :
textbox for question 
button for share 
webbrowser for search in web site 

rictextbox for show the rusalt 
كود :
If WebBrowser1.DocumentText.Contains(TextBox1.Text) Then
       '        Dim src = WebBrowser1.DocumentText
       '        Label1.Text = "تم العثور على النص المطلوب!"
       '        RichTextBox1.Text = WebBrowser1.Document.Body.OuterText
       '        Dim mts = Regex.Matches(src, "<p>\d+.<br>.+?<p>Answer:\s\w</p>", RegexOptions.Singleline)
       '        Dim qc = mts.Count, ca = 0
       '        For Each mt As Match In mts
       '            If mt.Value.Contains(TextBox1.Text) = True Then
       '                RichTextBox1.Clear()
       '                Dim question = Regex.Replace(mt.Value, "<.*>", "").Trim
       '                Dim answer = Regex.Match(mt.Value, "<p>Answer:\s(\w)</p>").Groups(1).Value
       '                RichTextBox1.Text += question & vbNewLine & "Answer: " & answer

       '                RichTextBox1.Find("Answer: ", RichTextBoxFinds.MatchCase) 'text to colorize / change font  
       '                'test - change font / color  
       '                RichTextBox1.SelectionFont = New Font("Verdana", 12, FontStyle.Bold)
       '                RichTextBox1.SelectionColor = Color.Red
       '            End If
       '        Next



هذا كود ولكن بحاجة لتعديل الRegexPattren
وللاسف ليست لدي اي خبره بالريجكس
Basil Abdallah 

الرد }}}
تم الشكر بواسطة: bidaya
#2
000000000000
Basil Abdallah 

الرد }}}
تم الشكر بواسطة:
#3
اهلا اخي هذه تجربة لك
RichTextBox1.Text = WebBrowser1.Document.GetElementById("Add ID ").InnerText

عندك مثال (Add ID)

تقوم بوضع الايدي للموقع الذي تريد سحب الكلام منه ..

وهنا تضع هذا اكود لكي يسحبه في نص التيكست

If TextBox1.Text.Contains("here") Then
وتقوم بتبديل كلمة here الئ النص المطلوب لك
اتنمئ عجبك الرد
الرد }}}
تم الشكر بواسطة: سعود , bidaya , Basil Abdallah , Basil Abdallah
#4
(02-11-20, 05:07 AM)Master Hacker كتب : اهلا اخي هذه تجربة لك
RichTextBox1.Text = WebBrowser1.Document.GetElementById("Add ID ").InnerText

عندك مثال (Add ID)

تقوم بوضع الايدي للموقع الذي تريد سحب الكلام منه ..

وهنا تضع هذا اكود لكي يسحبه في نص التيكست

If TextBox1.Text.Contains("here") Then
وتقوم بتبديل كلمة here الئ النص المطلوب لك
اتنمئ عجبك الرد

تمام شكرا لك 
بس النصوص ما الها id
Basil Abdallah 

الرد }}}
تم الشكر بواسطة: bidaya
#5
بما أنه لا يملك أى دى فممكن هنا من خلال الكلاس التابع للتاج نيم


كود :
 Dim input As HtmlElementCollection
        input = WebBrowser1.Document.GetElementsByTagName("a")
        For Each item As HtmlElement In input
            If item.GetAttribute("className").Contains("Text") Then
                
RichTextBox1.Text = item.GetAttribute("href")
            End If
        Next item
الرد }}}
تم الشكر بواسطة: سعود , bidaya , bidaya , Basil Abdallah
#6
مثال جاهز بالكود الذي وضعته


الملفات المرفقة
.rar   Basil Abdallah.rar (الحجم : 33.42 ك ب / التحميلات : 20)
الرد }}}
تم الشكر بواسطة: ابو روضة , سعود
#7
السلام عليكم ورحمة الله و بركاته
اشكر كل الاخوة اللذين سبقوني.
لدي استفسار للسائل الكريم...
هل الصفحة من تصميمك؟
لاني جهزت مثال وتوقفت عند نقطة احاول فيها ثم تفاجات ان المثال كليا لا يعمل ولما اطلعت على الصفحة رايتها تغيرت بنيتها.
اذا كنت تريد تصميم جيد بحيث يمكنك استخلاص معلومات جيدة فاستخدم تصميم xml  او  html  او على الاقل تضع مفاتيح وقيم لكي تضبط الامور معك سواء عن طريق webbrowser او عن طريق regex  او  HtmlAgilityPack
الرد }}}
تم الشكر بواسطة: ابو روضة , Anas Mahmoud , bidaya
#8
كود :
 If WebBrowser1.Document.Body.InnerText.Contains(TextBox1.Text) Then
           For Each ss In WebBrowser1.Document.GetElementsByTagName("p")
               For i = 0 To 767
                   If ss.GetAttribute("id") = "Q" & i Then
                       TextBox2.Text = ss.innertext
                       If TextBox2.Text.Contains(TextBox1.Text) Then
                           RichTextBox1.Text = ss.innertext
                           Label1.Text = "تم العثور على جواب"
                     
                           Label1.ForeColor = Color.Green
                           RichTextBox1.Text = TextBox2.Text.Replace("a. ", vbNewLine & "a. ").Replace("b. ", vbNewLine & "b. ").Replace("c. ", vbNewLine & "c. ").Replace("d. ", vbNewLine & "d. ").Replace("e. ", vbNewLine & "e. ").Replace("Answer: ", vbNewLine & "Answer: ")
                           RichTextBox1.Find("Answer: ", RichTextBoxFinds.MatchCase) 'text to colorize / change font  
                           RichTextBox1.SelectionFont = New Font("Verdana", 12, FontStyle.Bold)
                           RichTextBox1.SelectionColor = Color.Red
                           RichTextBox1.Find(TextBox1.Text, RichTextBoxFinds.MatchCase) 'text to colorize / change font  
                           'test - change font / color  
                           RichTextBox1.SelectionFont = New Font("Verdana", 12, FontStyle.Bold)
                           RichTextBox1.SelectionColor = Color.Green

                         
                       ElseIf Not RichTextBox1.Text.Contains(TextBox1.Text) Then
                           Label1.Text = "لم يتم العثور على جواب"
                           Label1.ForeColor = Color.Red
                       End If
                   End If
               Next
           Next

       Else
           Try
               ListBox1.SelectedIndex += 1
           Catch ex As Exception
               ListBox1.SelectedIndex -= 1
           End Try
 شكرا لكم ما قصرتو وهي طلع معي الكود النهائي بهاذ الشكل
Basil Abdallah 

الرد }}}
تم الشكر بواسطة:
#9
السلام عليكم اخي باسل
عندي فورم رقم 1 علية ويب براوزر و بوتون افتح من خلاله صفحة انترنت معينه يوجد بها معلومات اريد سحب بعض المعلومات من هذه الصفحة عن طريق البوتون ووضعها في فورم رقم 2 في التكست بوكس
فهل تستطيع مساعدتي اكن شاكرا لك .....
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  استخراج الشهر الهجري kebboud 2 258 04-12-23, 07:51 PM
آخر رد: kebboud
  اداة WebBrowser onejan1977 1 267 26-08-23, 06:53 PM
آخر رد: Taha Okla
  كيفية استخراج كود من الموقع عن طريق vb.net crazykinko 2 529 06-12-22, 05:42 PM
آخر رد: crazykinko
  [سؤال] استخراج ملف bibo 0 439 07-11-22, 03:06 AM
آخر رد: bibo
  [سؤال] كود استخراج العلامات الخاصة حسن الجلب 6 883 10-08-22, 04:06 AM
آخر رد: سعود
  [سؤال] كيفيه استخراج الحروف العربيه حسن الجلب 1 652 08-08-22, 02:15 AM
آخر رد: سعود
  استخراج اسم العقدة الفرعيىة Lathe1 4 1,010 26-07-22, 01:26 AM
آخر رد: أبو خالد الشكري
Lightbulb المساعدة في استخراج فورم من مشروع أبو خالد الشكري 13 1,549 08-07-22, 05:36 PM
آخر رد: asemshahen5
  [VB.NET] سؤال في webbrowser farfour 7 2,167 22-05-22, 04:42 PM
آخر رد: عبد الجليل سراج
  webbrowser dasktop 1 721 13-05-22, 04:08 PM
آخر رد: Taha Okla

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم