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


وهذا هو الموقع

الرد }}
تم الشكر بواسطة:
#2
حرب هذا الكود، الفورم به WebBrowser و Button وبعد التشغيل انتظر حتى اكتمال الصفحة ثم اضغط الButton
كود :
Public Class Form1

   Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
       WebBrowser1.Navigate("https://www.amrkhaled.net/Category/26/استشارات")

   End Sub

   Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

       Dim flow As New FlowLayoutPanel
       flow.Parent = Me
       flow.Dock = DockStyle.Fill
       flow.AutoScroll = True

       For Each element As HtmlElement In WebBrowser1.Document.GetElementsByTagName("div")
           If element.GetAttribute("className").Contains("tagsNsearch-block lastid FunctionParm") Then

               Dim txt As String = element.InnerText.Trim
               Dim htm As String = element.OuterHtml

               Dim index1 As Integer = htm.IndexOf("<img class=""img-fluid lazy loaded"" src=""")
               Dim img As String = htm.Substring(index1 + 40, htm.IndexOf("""", index1 + 40) - (index1 + 40))

               Dim index2 As Integer = htm.IndexOf("<a class=""headline d-block w-100"" href=""")
               Dim lnk As String = htm.Substring(index2 + 40, htm.IndexOf("""", index2 + 40) - (index2 + 40))

               Dim pnl As New Panel
               pnl.Parent = flow
               pnl.Size = New Size(220, 222)
               pnl.BackColor = Color.White
               pnl.BorderStyle = BorderStyle.FixedSingle
               pnl.RightToLeft = Windows.Forms.RightToLeft.Yes

               Dim pct As New PictureBox
               pct.Parent = pnl
               pct.Size = New Size(220, 147)
               pct.SizeMode = PictureBoxSizeMode.Zoom
               pct.ImageLocation = img

               Dim lbl As New LinkLabel
               lbl.Parent = pnl
               lbl.Size = New Size(220, 75)
               lbl.AutoSize = False
               lbl.TextAlign = ContentAlignment.MiddleLeft
               lbl.LinkBehavior = LinkBehavior.NeverUnderline
               lbl.Top = 148
               lbl.Text = txt
               lbl.Tag = "https://www.amrkhaled.net/" & lnk
               AddHandler lbl.LinkClicked, AddressOf lbl_LinkClicked

           End If
       Next

       flow.BringToFront()

       Me.WindowState = FormWindowState.Maximized

   End Sub

   Private Sub lbl_LinkClicked(sender As System.Object, e As LinkLabelLinkClickedEventArgs)
       Dim link As String = sender.Tag
       MsgBox(link)
       Process.Start(link)
   End Sub

End Class

صراحة هذا الكود ليس لي، ولكن أكيد عدلت عليه بشكل بسيط، لانه نفس الفكرة التي طلبتها


قد يكون طريقة العرض لا تناسبك ولكن المهم الفكرة
الرد }}
تم الشكر بواسطة: ابو روضة , dubai.eig , dubai.eig
#3
(30-07-18, 02:55 AM)GameOver كتب : حرب هذا الكود، الفورم به WebBrowser و Button وبعد التشغيل انتظر حتى اكتمال الصفحة ثم اضغط الButton
كود :
Public Class Form1

   Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
       WebBrowser1.Navigate("https://www.amrkhaled.net/Category/26/استشارات")

   End Sub

   Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

       Dim flow As New FlowLayoutPanel
       flow.Parent = Me
       flow.Dock = DockStyle.Fill
       flow.AutoScroll = True

       For Each element As HtmlElement In WebBrowser1.Document.GetElementsByTagName("div")
           If element.GetAttribute("className").Contains("tagsNsearch-block lastid FunctionParm") Then

               Dim txt As String = element.InnerText.Trim
               Dim htm As String = element.OuterHtml

               Dim index1 As Integer = htm.IndexOf("<img class=""img-fluid lazy loaded"" src=""")
               Dim img As String = htm.Substring(index1 + 40, htm.IndexOf("""", index1 + 40) - (index1 + 40))

               Dim index2 As Integer = htm.IndexOf("<a class=""headline d-block w-100"" href=""")
               Dim lnk As String = htm.Substring(index2 + 40, htm.IndexOf("""", index2 + 40) - (index2 + 40))

               Dim pnl As New Panel
               pnl.Parent = flow
               pnl.Size = New Size(220, 222)
               pnl.BackColor = Color.White
               pnl.BorderStyle = BorderStyle.FixedSingle
               pnl.RightToLeft = Windows.Forms.RightToLeft.Yes

               Dim pct As New PictureBox
               pct.Parent = pnl
               pct.Size = New Size(220, 147)
               pct.SizeMode = PictureBoxSizeMode.Zoom
               pct.ImageLocation = img

               Dim lbl As New LinkLabel
               lbl.Parent = pnl
               lbl.Size = New Size(220, 75)
               lbl.AutoSize = False
               lbl.TextAlign = ContentAlignment.MiddleLeft
               lbl.LinkBehavior = LinkBehavior.NeverUnderline
               lbl.Top = 148
               lbl.Text = txt
               lbl.Tag = "https://www.amrkhaled.net/" & lnk
               AddHandler lbl.LinkClicked, AddressOf lbl_LinkClicked

           End If
       Next

       flow.BringToFront()

       Me.WindowState = FormWindowState.Maximized

   End Sub

   Private Sub lbl_LinkClicked(sender As System.Object, e As LinkLabelLinkClickedEventArgs)
       Dim link As String = sender.Tag
       MsgBox(link)
       Process.Start(link)
   End Sub

End Class

صراحة هذا الكود ليس لي، ولكن أكيد عدلت عليه بشكل بسيط، لانه نفس الفكرة التي طلبتها


قد يكون طريقة العرض لا تناسبك ولكن المهم الفكرة

الحقيقة فكرة جميلة جدا ونجحت فعلا لكن مش بيجلب كل المواضيع بل فقط بيجلب خمس  مواضيع
او ثمانية والصفحة اصلا مليئة بالصفحات....
هل هذه الفكرة تنفع مع اى موقع أم هذا فقط وشكرا لك كتير جدا
الرد }}
تم الشكر بواسطة:
#4
اذا الموقع يستخدم نفس الاسلوب فقط تحتاج تغيير بعض المسميات من رابط واسماء مكونات الصفحة

بخصوص الصفحات لا اعرفها فليس لي اهتمام بهكذا مواضيع لهذا لم تتكون لدي الخبرة لعملها
الرد }}
تم الشكر بواسطة: sendbad100 , sendbad100 , ابو روضة
#5
وعليكم السلام ورحمة الله وبركاته

حتى لا يروح ما قدمه الاخ GameOver
بدون اى جدوة ساضيف حاجة بسيطة فقط للاخ ابو روضة

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

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

بحيث عند الانتهاء ولم يعد يوجد كلمة المزيد
يقوم بتنفيذ كود الاخ GameOver مباشراً

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

سانتظر رؤية ردك والذى يحتوى على الكود كالماً بعد الانتهاء
حتى يعم الفائدة للجميع اذا كان احد يبحث بخصوص نفس الموضوع

وحتى ان لا تجعل ما قدمه الاخ GameOver ذهب بدون نفع

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

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}
تم الشكر بواسطة: ابو روضة , sendbad100 , dubai.eig
#6
(30-07-18, 06:19 AM)elgokr كتب :
وعليكم السلام ورحمة الله وبركاته

حتى لا يروح ما قدمه الاخ GameOver
بدون اى جدوة ساضيف حاجة بسيطة فقط للاخ ابو روضة

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

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

بحيث عند الانتهاء ولم يعد يوجد كلمة المزيد
يقوم بتنفيذ كود الاخ GameOver مباشراً

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

سانتظر رؤية ردك والذى يحتوى على الكود كالماً بعد الانتهاء
حتى يعم الفائدة للجميع اذا كان احد يبحث بخصوص نفس الموضوع

وحتى ان لا تجعل ما قدمه الاخ GameOver ذهب بدون نفع

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

وهذا أول ما فكرت به فعلا اخى الجوكر وفضلت اجرب فيه بهذا الكود بعد ان وضعت الكود

الأول اللى فى موضوعى الذى أشرت عليه لكنه لم يفلح لآن هذا الزر لا يوجد به كلمة
لا يوجد مزيد فى النهاية مما جعلنى جعلته فارغ ايضا لم يعمل وكل اللى بيعمله بيفضل يعد
الى مالانهاية.
 
PHP كود :
 Dim input As HtmlElementCollection
        input 
WebBrowser1.Document.GetElementsByTagName("button")
 
       Dim ii As Integer
        For Each item 
As HtmlElement In input
            If item
.InnerText = ("المزيد"Then
                item
.InvokeMember("Click")
 
               Do
                    item
.InvokeMember("Click")
 
                   If item.InnerText = (""Then

                        Exit 
Do
 
                   End If
 
                   On Error Resume Next

                    Dim t 
As New Threading.Thread(AddressOf closeMsgbox)
 
                   t.Start(1'1 = 1 second
                    ii += 1
                    MsgBox("الصفحة رقم " & ii)
                Loop
            End If
        Next item 
الرد }}
تم الشكر بواسطة:
#7
كل ما عليك اضافة التحقق التالى
كود :
                   If item.Style = "Display: none" Or item.Style = "display: none;" Then
                       Exit Do
                   End If

بدلاً من التحقق القديم اى اضف هذا التحقق اسفل
كود :
item.InvokeMember("Click")

وبكده سيعمل معك ويتم ايقاف العدد عند انتها واختفاء كلمة المزيد

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

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}
تم الشكر بواسطة: ابو روضة , dubai.eig , dubai.eig
#8
(30-07-18, 02:42 PM)elgokr كتب : كل ما عليك اضافة التحقق التالى
كود :
                   If item.Style = "Display: none" Or item.Style = "display: none;" Then
                       Exit Do
                   End If

بدلاً من التحقق القديم اى اضف هذا التحقق اسفل
كود :
item.InvokeMember("Click")

وبكده سيعمل معك ويتم ايقاف العدد عند انتها واختفاء كلمة المزيد

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

هههه والله ما عارف اقولك ايه ولا ايه يا فنان..

والله انت بجد حاجة تشرف وكأن الله وضعك للغلابة اللى مثلى ومثل الكثير..
سؤال اخير لو تكرمت استاذى هو ينفع الغى الرسالة التى تظهر وتقول الصفحة رقم كذا وكذا ؟
لآنها صراحة رخمة شويتين
الرد }}
تم الشكر بواسطة: elgokr
#9
على ايه بس انا لم افعل شي بل انت ما فعلت كل شي
ويرجع الفضل الى الاخ GameOver
فيما قدمه لك من كود لعرض المجتوى كما فى الموقع

وبخصوص الرسالة بالطبع يمكنك
ولكن قد يسبب التهنيج بالبرنامج
بسبب تنفيذ الاوامر باجمعها فى اقل من ثانية
يمكن تغيير نص الرسالة الى مثلاً جالى تحميل 
أو جلب جميع محتوى الصفحة وما شبه من رسالة

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

ويرجع ذلك الى حالة الجهاز

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

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}
تم الشكر بواسطة: ابو روضة
#10
(30-07-18, 04:57 AM)GameOver كتب : اذا الموقع يستخدم نفس الاسلوب فقط تحتاج تغيير بعض المسميات من رابط واسماء مكونات الصفحة

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

تسلم أخى من كل شر وربنا يجزيك كل الخير يارب

(30-07-18, 03:05 PM)elgokr كتب :
وبخصوص الرسالة بالطبع يمكنك
ولكن قد يسبب التهنيج بالبرنامج
بسبب تنفيذ الاوامر باجمعها فى اقل من ثانية

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


الملفات المرفقة
.zip   قصص مصورة للاطفال.zip (الحجم : 170.86 ك ب / التحميلات : 20)
الرد }}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ممكن طريقة لتحويل هذا الكود ابو روضة 9 389 10-06-22, 02:21 AM
آخر رد: ابو روضة
Question [VB.NET] استفسار حول طريقة الضغط على زر برمجيا lmofallis 4 3,059 01-06-22, 12:02 PM
آخر رد: عبد الجليل سراج
  طريقة تحميل البيانات بطريقة سريعة عن طريق الاستعلام sql Codack 1 263 23-05-22, 07:17 PM
آخر رد: سعود
  [سؤال] طريقة تمرير صور من Form1 الي Form2 MMn 2 486 08-04-22, 11:26 PM
آخر رد: MMn
  طريقة تثبيت البرنامج عن بعد mohmmadadli1 1 510 29-03-22, 12:36 AM
آخر رد: Taha Okla
  ممكن طريقة اضافة باسورد عند انشاء برنامج للقنوات لكي عندما احد يريد ان يدخل الى البرن omar dz 6 1,077 20-03-22, 07:37 PM
آخر رد: omar dz
  [سؤال] طريقة الادخال اليدوي في الداتا جريد فيو وحفظها تلقائيا safralfahd 11 1,378 19-03-22, 07:59 PM
آخر رد: safralfahd
  [VB.NET] ايه افضل طريقة لاستخراج ارقام من صورة ؟ الماجيك مسعد 2 559 17-03-22, 03:52 PM
آخر رد: الماجيك مسعد
  طريقة اختصار تكرارات الارقام beso00 6 848 11-02-22, 10:32 PM
آخر رد: ابراهيم ايبو
  طريقة تحزيم مشروع safralfahd 1 536 09-02-22, 02:07 AM
آخر رد: ابراهيم ايبو

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


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