السلام عليكم إخوتى
بحاول جلب كامل هذه الصفحة بهذا الكود لكنه يجلبهم متكررين يعنى يجلب اول عشر مواضيع ويكررهم مرة اخرى
على حسب العدد اللى انا محدده واظن العيب فى هذه الكلمة 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
انا عملتها بالويب براوزر وتمام لكنه عقيم جدا كما تعرفون
وعليكم السلام ورحمة الله وبركاته
مرحباً اخى ابو روضة
بخصوص الكود الخاص بك فهو يعمل بدون مشكلة
ولكن يبدو ما لديك من مشكلة هو جلب ما بعد كلمة المزيد
وقبل ما اتكلم على هذا النقسطة ارسد ان اشير لك على شئ لكي تستوعبها
تعال ادخل كده على الرابط التالى
طيب تعال كده ادخل على الرابط التالى
هل تلاحظ اى اختلاف بين الاثنين
بينما الرابط الاول بدون عدد الصفحة
وبينما الرابط الثاني تعنى الصفحة رقم 10
وهنا هى المشكلة بان المزيد كود جافا وليس صفحة انتقالية
تتغير مع رقم كما انت مشير اليه
طيب الحل هنا
سبق وكان لديك موضوع مشابه تماماً لهذا الامر
وعن فكرة المزيد وكان الحل بها على ما اتزكر من خلال طريقة webbrowser
وايضاً من خلال WebClient وما غيره
حاول ان ترجع الى هذا الموضوع
وستتمكن من اتمام الامر
ساتكر الامر عليك من هنا
تحياتى لك
وتمنياتى لك التوفيق
(15-04-19, 10:01 AM)elgokr كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته
مرحباً اخى ابو روضة
بخصوص الكود الخاص بك فهو يعمل بدون مشكلة
ولكن يبدو ما لديك من مشكلة هو جلب ما بعد كلمة المزيد
وقبل ما اتكلم على هذا النقسطة ارسد ان اشير لك على شئ لكي تستوعبها
تعال ادخل كده على الرابط التالى
طيب تعال كده ادخل على الرابط التالى
هل تلاحظ اى اختلاف بين الاثنين
بينما الرابط الاول بدون عدد الصفحة
وبينما الرابط الثاني تعنى الصفحة رقم 10
وهنا هى المشكلة بان المزيد كود جافا وليس صفحة انتقالية
تتغير مع رقم كما انت مشير اليه
طيب الحل هنا
سبق وكان لديك موضوع مشابه تماماً لهذا الامر
وعن فكرة المزيد وكان الحل بها على ما اتزكر من خلال طريقة webbrowser
وايضاً من خلال WebClient وما غيره
حاول ان ترجع الى هذا الموضوع
وستتمكن من اتمام الامر
ساتكر الامر عليك من هنا
تحياتى لك
وتمنياتى لك التوفيق
بارك الله فيك أخى الكريم الغالى...
نعم أتذكره جيداً أخى ومن خلال شرحك المميز هناك بمواضيعى السابقة قولت بالموضوع هذا
أننى قمت بعمله بالويب براوزر وشغال تمام لكن الويب براوزر ثقيل فمش عيب اننى أجرب الأسهل
وحاولت معاه كتير ومازلت أحاول وهاحاول بأمر الله..
يعنى وقتها أنت حليت لى المشكلة بطريقة كانت مغلبانى كتير
ومع التكرار منى عملت كذا برنامج بطريقة أفضل من التى فعلتها أنت
لكن الاصل من ؟ أكيد أنت لآنك من فتح ذهنى لآشياء كثيرة فقمت بتطويرها..
سؤال لو تكرمت
كيف أقرأ هذه الصفحات التى جلبتها فى الليست بوكس فى أداة RichTextBox بدلا من قرائتها على
اداة الويب براوزر
قادم من:
#15
ممكن سؤال؟
ماذا تريد ان تجلب بالضبط لان الصفحة ماشاء الله مليئة بالمعلومات
(07-06-19, 03:15 AM)سعود كتب : [ -> ]قادم من:#15
ممكن سؤال؟
ماذا تريد ان تجلب بالضبط لان الصفحة ماشاء الله مليئة بالمعلومات
ما اريده هو جلب ما بعد كلمة المزيد فلو ضغطت على كلمة المزيد نهاية الصفحة ستظهر معك مواضيع أخرى
حسب مافهمت انك توصلت لحل وبقي امر التكرار!
صح او اني فهمت خطا ...لاني احتاج وقت عشان افهم التعامل بالويب براوزر.
اذا فعلا فهمي صحيح فيتبقى امر التحقق بما توفر محليا(اي بالاداة التي نستخدمها)
لكن كيف نعرف اننا وصلنا لاخر قيمة بعد تكرار النقر على الزر بالصفحة؟!
(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]