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

نسخة كاملة : مشكلة فى جلب كامل الصفحة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم إخوتى

بحاول جلب كامل هذه الصفحة بهذا الكود لكنه يجلبهم متكررين يعنى يجلب اول عشر مواضيع ويكررهم مرة اخرى


على حسب العدد اللى انا محدده واظن العيب فى هذه الكلمة page ...


https://www.amrkhaled.net/Category/26/%D...8%A7%D8%AA

كود :
dataGridView1.Rows.Clear()
      For i As Integer = 1 To NumericUpDown1.Value
          Dim url As String = ("https://www.amrkhaled.net/Category/26/استشارات?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("//*[@id='section-grid-container']/div[1]/div/div[2]/h3/a")
              dataGridView1.Rows.Add("https://www.amrkhaled.net" & n.Attributes("href").Value.ToString(), n.InnerText.Trim)
          Next
      Next
انا عملتها بالويب براوزر وتمام لكنه عقيم جدا كما تعرفون
وعليكم السلام ورحمة الله وبركاته

مرحباً اخى ابو روضة
بخصوص الكود الخاص بك فهو يعمل بدون مشكلة

ولكن يبدو ما لديك من مشكلة هو جلب ما بعد كلمة المزيد
وقبل ما اتكلم على هذا النقسطة ارسد ان اشير لك على شئ لكي تستوعبها

تعال ادخل كده على الرابط التالى
https://www.amrkhaled.net/Category/26/استشارات

طيب تعال كده ادخل على الرابط التالى
https://www.amrkhaled.net/Category/26/استشارات?page=10

هل تلاحظ اى اختلاف بين الاثنين
بينما الرابط الاول بدون عدد الصفحة
وبينما الرابط الثاني تعنى الصفحة رقم 10

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

طيب الحل هنا
سبق وكان لديك موضوع مشابه تماماً لهذا الامر
وعن فكرة المزيد وكان الحل بها على ما اتزكر من خلال طريقة webbrowser
وايضاً من خلال WebClient وما غيره

حاول ان ترجع الى هذا الموضوع
وستتمكن من اتمام الامر
ساتكر الامر عليك من هنا

تحياتى لك
وتمنياتى لك التوفيق
(15-04-19, 10:01 AM)elgokr كتب : [ -> ]
وعليكم السلام ورحمة الله وبركاته

مرحباً اخى ابو روضة
بخصوص الكود الخاص بك فهو يعمل بدون مشكلة

ولكن يبدو ما لديك من مشكلة هو جلب ما بعد كلمة المزيد
وقبل ما اتكلم على هذا النقسطة ارسد ان اشير لك على شئ لكي تستوعبها

تعال ادخل كده على الرابط التالى

طيب تعال كده ادخل على الرابط التالى

هل تلاحظ اى اختلاف بين الاثنين
بينما الرابط الاول بدون عدد الصفحة
وبينما الرابط الثاني تعنى الصفحة رقم 10

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

طيب الحل هنا
سبق وكان لديك موضوع مشابه تماماً لهذا الامر
وعن فكرة المزيد وكان الحل بها على ما اتزكر من خلال طريقة webbrowser
وايضاً من خلال WebClient وما غيره

حاول ان ترجع الى هذا الموضوع
وستتمكن من اتمام الامر
ساتكر الامر عليك من هنا

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

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

شاهد هذا المقطع اخي و انشاء الله يفيدك

https://www.youtube.com/watch?v=qyOWKhDq...d&index=11
(15-04-19, 05:16 PM)nabil.1710 كتب : [ -> ]استخدم السيشن لارسال اسم الصفحة 

شاهد هذا المقطع اخي و انشاء الله يفيدك

https://www.youtube.com/watch?v=qyOWKhDq...d&index=11

شكرا لك اخى لكن هل الasp تتعامل مع اوسمة المتصفح مثل الويب براوزر
قادم من:#15 

ممكن سؤال؟
ماذا تريد ان تجلب بالضبط لان الصفحة ماشاء الله مليئة بالمعلوماتSmile
(07-06-19, 03:15 AM)سعود كتب : [ -> ]قادم من:#15 

ممكن سؤال؟
ماذا تريد ان تجلب بالضبط لان الصفحة ماشاء الله مليئة بالمعلوماتSmile

ما اريده هو جلب ما بعد كلمة المزيد فلو ضغطت على كلمة المزيد نهاية الصفحة ستظهر معك مواضيع أخرى
حسب مافهمت انك توصلت لحل وبقي امر التكرار!
صح او اني فهمت خطا ...لاني احتاج وقت عشان افهم التعامل بالويب براوزر.
اذا فعلا فهمي صحيح فيتبقى امر التحقق بما توفر محليا(اي بالاداة التي نستخدمها)
لكن كيف نعرف اننا وصلنا لاخر قيمة بعد تكرار النقر على الزر بالصفحة؟!
(07-06-19, 03:27 AM)سعود كتب : [ -> ]حسب مافهمت انك توصلت لحل وبقي امر التكرار!
صح او اني فهمت خطا ...لاني احتاج وقت عشان افهم التعامل بالويب براوزر.
اذا فعلا فهمي صحيح فيتبقى امر التحقق بما توفر محليا(اي بالاداة التي نستخدمها)
لكن كيف نعرف اننا وصلنا لاخر قيمة بعد تكرار النقر على الزر بالصفحة؟!

لا يا أخى انا جلبتها بالويب براوزر وتمام لكن الويب براوزر بطي جدا 
فحاولت بهذا الكود جلب كامل الصفحة هذه لكن بجبلى اول المواضيع فقط وانا اريده ينزل ما 
بعد كلمة المزيد

PHP كود :
dataGridView1.Rows.Clear()
 
     For i As Integer 1 To NumericUpDown1.Value
          Dim url 
As String = ("https://www.amrkhaled.net/Category/26/استشارات?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("//*[@id='section-grid-container']/div[1]/div/div[2]/h3/a")
 
             dataGridView1.Rows.Add("https://www.amrkhaled.net" n.Attributes("href").Value.ToString(), n.InnerText.Trim)
 
         Next
      Next 


تحديدا من هذه الصفحة

https://www.amrkhaled.net/Section/1041/%...8%A7%D8%A1

[url=https://www.amrkhaled.net/Section/1041/%D8%AA%D8%B1%D8%A8%D9%8A%D8%A9-%D8%A7%D9%84%D8%A3%D8%A8%D9%86%D8%A7%D8%A1][/url]
الصفحات : 1 2