منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
استخراج نص من webbrowser ووضعه بrichtextbox - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : استخراج نص من webbrowser ووضعه بrichtextbox (/showthread.php?tid=36817)



استخراج نص من webbrowser ووضعه بrichtextbox - Basil Abdallah - 31-10-20

مرحبا 
بدي طريقة من خلالها استطيع عمل بحث في هذه الصفحة على سؤال معين 
واذا كان السؤال موجود يقوم بعرض السؤال والخيارات مع الاجابة(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
وللاسف ليست لدي اي خبره بالريجكس


RE: استخراج نص من webbrowser ووضعه بrichtextbox - Basil Abdallah - 01-11-20

000000000000


RE: استخراج نص من webbrowser ووضعه بrichtextbox - Master Hacker - 02-11-20

اهلا اخي هذه تجربة لك
RichTextBox1.Text = WebBrowser1.Document.GetElementById("Add ID ").InnerText

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

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

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

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


RE: استخراج نص من webbrowser ووضعه بrichtextbox - Basil Abdallah - 02-11-20

(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


RE: استخراج نص من webbrowser ووضعه بrichtextbox - ابو روضة - 02-11-20

بما أنه لا يملك أى دى فممكن هنا من خلال الكلاس التابع للتاج نيم


كود :
 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



RE: استخراج نص من webbrowser ووضعه بrichtextbox - bidaya - 03-11-20

مثال جاهز بالكود الذي وضعته



RE: استخراج نص من webbrowser ووضعه بrichtextbox - سعود - 04-11-20

السلام عليكم ورحمة الله و بركاته
اشكر كل الاخوة اللذين سبقوني.
لدي استفسار للسائل الكريم...
هل الصفحة من تصميمك؟
لاني جهزت مثال وتوقفت عند نقطة احاول فيها ثم تفاجات ان المثال كليا لا يعمل ولما اطلعت على الصفحة رايتها تغيرت بنيتها.
اذا كنت تريد تصميم جيد بحيث يمكنك استخلاص معلومات جيدة فاستخدم تصميم xml  او  html  او على الاقل تضع مفاتيح وقيم لكي تضبط الامور معك سواء عن طريق webbrowser او عن طريق regex  او  HtmlAgilityPack


RE: استخراج نص من webbrowser ووضعه بrichtextbox - Basil Abdallah - 13-11-20

كود :
 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
 شكرا لكم ما قصرتو وهي طلع معي الكود النهائي بهاذ الشكل


RE: استخراج نص من webbrowser ووضعه بrichtextbox - نضال ابو العافية - 04-10-21

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