تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
جلب كامل الصفحة
#1
السلام عليكم إخوتى
بموضوع مضى ساعدنى الاخ الجوكر الله يكرمه بكود ينزل لآسفل صفحة على الانترنت
ليجلب كل المواضيع لكن وقتها كان الموضوع بالويب براوزر لكن الويب براوزر اصبح
الآن غير عملى إطلاقا فقمت بفضل الله بجلب هذه الصفحات بال HtmlAgilityPack
لكن المشكلة ان الصفحة بها مائة موضوع وهذا الكود يجلب فقط اول 10 مواضيع
فكيف أجلب كل المواضيع التى بالصفحة الله يبارك فيكم..
الكود

كود :
Dim url As String = "https://www.storiesrealistic.com/category/قصص-اطفال/"
       Dim wc As New WebClient
       wc.Encoding = Encoding.UTF8
       Dim html As String = wc.DownloadString(url)
       Dim doc As New HtmlAgilityPack.HtmlDocument
       doc.LoadHtml(html)
       For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//h2[@class='entry-title']/a")
           ListBox2.Items.Add(n.InnerText)
           lst.Add(n.Attributes("href").Value)

           Me.Text = ListBox2.Items.Count
       Next
أتمنى يكون لها حل
الرد
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته

شوف لاتمام ذلك ستحتاج لدمج وظيفة WB لعمل الكليك
من ثم استكمال الباقى على كودك الحال بمعنى

حالياً انت لديك الكود التالى
كود :
       Dim url As String = "https://www.storiesrealistic.com/category/قصص-اطفال/"
       Dim wc As New WebClient
       wc.Encoding = Encoding.UTF8
       Dim html As String = wc.DownloadString(url)
       Dim doc As New HtmlDocument
       doc.LoadHtml(html)

       For Each n As HtmlNode In doc.DocumentNode.SelectNodes("//h2[@class='entry-title']/a")
           ListBox1.Items.Add(n.InnerText)
           lst.Add(n.Attributes("href").Value)
           Me.Text = ListBox1.Items.Count
       Next

سيتم تقسيمه على 2 بحيث سنحتفظ بالكود السفى وهو 
كود :
       Dim doc As New HtmlDocument
       doc.LoadHtml(html)

       For Each n As HtmlNode In doc.DocumentNode.SelectNodes("//h2[@class='entry-title']/a")
           ListBox1.Items.Add(n.InnerText)
           lst.Add(n.Attributes("href").Value)
           Me.Text = ListBox1.Items.Count
       Next

الان ناتى على الكود التالى وهو الخاص بالجزء العلوى
كود :
       Dim url As String = "https://www.storiesrealistic.com/category/قصص-اطفال/"
       Dim wc As New WebClient
       wc.Encoding = Encoding.UTF8
       Dim html As String = wc.DownloadString(url)

وظيفة هذا الجزء هو فتح الصفحة الموجود رابطه بالاعلى من ثم جلب كود HTML الموجود بالصفحة

وكل ده يلخط عن السطر التالى
كود :
       Dim html As String = wc.DownloadString(url)

طيب ايه المطلوب هنا
المطلوب التالى الكود العلو كاملاً لا حاجة له الا السطر الاخير سيتم التعديل عليه بنهاية الموضوع

وكل ما هو مطلوب منك عمل كود عرض الرابط فى اداء WB ومن ثم عمل الضغط على الزر مشاهدة المزيد حتى اخر زر
حتى هنا جميل وسيتم عمل التالى

مكان السطر الذى تحدثنا عنه مسبقاً هو ما سنقوم بالتعديل عليه ليكون بهذا الشكل
كود :
Dim html As String = wb.DocumentText

بكده انت رحلت كود الصفحة كاملة بعد تحميل كل الصفحات خاصة مشاهدة المزيد الى Html
ليتم استكمال باقى الكود وجلب العناوين والرابط كما فى الكود السفلى

نقطة مهمة لا يلزم ان تقوم بانشاء اداء WB فى الفورم 
يكفى ان تستخدم من خلال الكود التالى 
كود :
Dim wb As New WebBrowser

اتمنى ان تكون الصورة والفكرة وضحت لك كاملاً

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: ابو روضة
#3
(08-11-18, 02:41 PM)elgokr كتب :
وعليكم السلام ورحمة الله وبركاته

شوف لاتمام ذلك ستحتاج لدمج وظيفة WB لعمل الكليك
من ثم استكمال الباقى على كودك الحال بمعنى

حالياً انت لديك الكود التالى
كود :
       Dim url As String = "https://www.storiesrealistic.com/category/قصص-اطفال/"
       Dim wc As New WebClient
       wc.Encoding = Encoding.UTF8
       Dim html As String = wc.DownloadString(url)
       Dim doc As New HtmlDocument
       doc.LoadHtml(html)

       For Each n As HtmlNode In doc.DocumentNode.SelectNodes("//h2[@class='entry-title']/a")
           ListBox1.Items.Add(n.InnerText)
           lst.Add(n.Attributes("href").Value)
           Me.Text = ListBox1.Items.Count
       Next

سيتم تقسيمه على 2 بحيث سنحتفظ بالكود السفى وهو 
كود :
       Dim doc As New HtmlDocument
       doc.LoadHtml(html)

       For Each n As HtmlNode In doc.DocumentNode.SelectNodes("//h2[@class='entry-title']/a")
           ListBox1.Items.Add(n.InnerText)
           lst.Add(n.Attributes("href").Value)
           Me.Text = ListBox1.Items.Count
       Next

الان ناتى على الكود التالى وهو الخاص بالجزء العلوى
كود :
       Dim url As String = "https://www.storiesrealistic.com/category/قصص-اطفال/"
       Dim wc As New WebClient
       wc.Encoding = Encoding.UTF8
       Dim html As String = wc.DownloadString(url)

وظيفة هذا الجزء هو فتح الصفحة الموجود رابطه بالاعلى من ثم جلب كود HTML الموجود بالصفحة

وكل ده يلخط عن السطر التالى
كود :
       Dim html As String = wc.DownloadString(url)

طيب ايه المطلوب هنا
المطلوب التالى الكود العلو كاملاً لا حاجة له الا السطر الاخير سيتم التعديل عليه بنهاية الموضوع

وكل ما هو مطلوب منك عمل كود عرض الرابط فى اداء WB ومن ثم عمل الضغط على الزر مشاهدة المزيد حتى اخر زر
حتى هنا جميل وسيتم عمل التالى

مكان السطر الذى تحدثنا عنه مسبقاً هو ما سنقوم بالتعديل عليه ليكون بهذا الشكل
كود :
Dim html As String = wb.DocumentText

بكده انت رحلت كود الصفحة كاملة بعد تحميل كل الصفحات خاصة مشاهدة المزيد الى Html
ليتم استكمال باقى الكود وجلب العناوين والرابط كما فى الكود السفلى

نقطة مهمة لا يلزم ان تقوم بانشاء اداء WB فى الفورم 
يكفى ان تستخدم من خلال الكود التالى 
كود :
Dim wb As New WebBrowser

اتمنى ان تكون الصورة والفكرة وضحت لك كاملاً

تحياتى لك
وتمنياتى لك التوفيق

فضيت نفسك وكتبت كل هذا بدون أن تأخذ شيئ مقابل تعبك هذا فماذا عساى أن
أفعل أو أقول لك ؟ والله ليس شيئ أفضل من " ربنا يجزيك كل الخير ويزيدك من علمه وفضله كمان وكمان "...
والحقيقة أنى إنتظرت أمس كثيرا ولم أجد أى رد واعلم انك كنت لست موجودا لآنك لابد وأن ترد على الجميع
سبحان الله وماشاء الله " امسك الخشب يبنى والله عليك"
الى أن حل لى صديق أعرفه المشكلة لا يقل ابداعا عنك وهذا ما دار بيننا لعل وعسى تكون
زيادة فى المعلومة وتفيد الجميع.

الكود


كود :
Try
           For i As Integer = 1 To NumericUpDown1.Value
               Dim url As String = ("https://www.storiesrealistic.com/category/%D9%82%D8%B5%D8%B5-%D8%A7%D8%B7%D9%81%D8%A7%D9%84/page/" & i)
               Dim wc As New WebClient
               wc.Encoding = Encoding.UTF8
               Dim html As String = wc.DownloadString(url)
               Dim doc As New HtmlAgilityPack.HtmlDocument
               doc.LoadHtml(html)

               For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//h2[@class='entry-title']/a")
                   ListBox1.Items.Add(n.InnerText)
                   TextBox1.Text = ListBox1.Items.Count
               Next
           Next
       Catch ex As Exception
       End Try


الحوار البسيط

أنا
صراحة ماشاء الله عليك والله لك لمسات ابداعية لا توصف " حقيقة "
موضوع كان مغلبنى كتير جدا..

لكن هل هذه الطريقة تنفع مع اى موقع أم هذا الموقع فقط ؟

هو

بطبع على حسب الموقع،إذا كان يعتمد على نفس المنهجية أي بستعمال ( /page

فهذا الكود سيقوم بالأمر..
إنتهى الحوار,


فجزاك الله جنة عرضها كعرض السموات والأرض حبيبى جوكر باشا وسيتم طبعا تجربة الكود بتاعك
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Bug [VB.NET] نزول الى اسفل الصفحة WebBrowser mervandzz 1 69 17-11-18, 03:30 AM
آخر رد: elgokr
  [VB.NET] مشكلة في استخراج روابط هذه الصفحة بال HtmlAgilityPack mervandzz 2 130 13-10-18, 03:53 PM
آخر رد: mervandzz
  [سؤال] طباعة الفورم بشكل كامل VB.Net Sameh Hamdy 6 1,612 27-09-18, 09:32 PM
آخر رد: Kaylos
  جلب اسماء وروابط هذه الصفحة بالHtmlAgilityPack ابو روضة 4 216 19-09-18, 08:52 AM
آخر رد: ابو روضة
  شريط اخباري عن المواد في الصفحة الرائيسية القشه 7 370 14-07-18, 01:07 PM
آخر رد: YousefOkasha
  تصغير حجم الصفحة في webbrowser ? hichem1 6 220 09-06-18, 01:59 AM
آخر رد: hichem1
  كيف يمكنني البحث في الجدول كامل DOX.1 0 197 11-03-18, 01:50 AM
آخر رد: DOX.1
  [سؤال] جلب روابط هذه الصفحة ابو روضة 2 184 04-02-18, 05:25 AM
آخر رد: ابو روضة
  اضافة الصور في قاعدة بيانات SQl Server وفي اداة ListView - مع مشروع كامل مرفق للشرح - ارجوا المساعدة shado1796 50 10,123 09-11-17, 10:01 PM
آخر رد: مهند بدران
  [سؤال] حول الطباعة عمود كامل من datagrid على شكل باركود احمد عبد الحكيم 3 791 28-07-17, 01:16 PM
آخر رد: IBRA939

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


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