تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] إختصار كود طويل حدا
#1
السلام عليكم ورحمة الله وبركاته...

لدى كود طويل جدا بجلب به نصوص عناوين لقصص محددة من على الانترنت..
الصفحة التى بجلب منها القصص بها نصوص بعمل لها استثناء لآنى لا أريدها...
وهذه صورة للكود كى تفهموا المقصد





وهذا هو الكود

كود :
Dim input As HtmlElementCollection
       input = wb.Document.GetElementsByTagName("a")
       For Each item As HtmlElement In input
           If item.GetAttribute("href").Contains(".htm") _
               AndAlso (Not item.InnerText.Contains("قصص نسائية")) _
               AndAlso (Not item.GetAttribute("href").Contains(".pdf") _
                        AndAlso (Not item.InnerText.Contains("قصص الرسول")) _
                        AndAlso (Not item.InnerText.Contains("الحصاد المر")) _
                              AndAlso (Not item.InnerText.Contains("للنساء فقط")) _
                                     AndAlso (Not item.InnerText.Contains("البيت السعيد")) _
                                      AndAlso (Not item.InnerText.Contains("تربية الأبناء")) _
                                       AndAlso (Not item.InnerText.Contains("الدورات العلمية")) _
                                          AndAlso (Not item.InnerText.Contains("تفعيل العمل الخيري")) _
               AndAlso (Not item.InnerText.Contains("المسابقات الثقافية")) _
               AndAlso (Not item.InnerText.Contains("المخيمات الدعوية")) _
               AndAlso (Not item.InnerText.Contains("الألعاب الحركية والذهنية")) _
               AndAlso (Not item.InnerText.Contains("الرحلات الدعوية")) _
               AndAlso (Not item.InnerText.Contains("حلقات تحفيظ القرآن")) _
               AndAlso (Not item.InnerText.Contains("الدعوة في المنتديات")) _
               AndAlso (Not item.InnerText.Contains("ساهم في نشر الإسلام")) _
                        AndAlso (Not item.InnerText.Contains("مذكرات ضابط أمن"))) Then
               lst.Add(item.GetAttribute("href"))
               CheckedListBox1.Items.Add(item.InnerText)
           End If
       Next item

وهذه هى الصفحة وما اريده منها العناوين الموجودة فى وسط الصفحة ليست التى على اليمين ولا اليسار.


والكود شغال تمام لكنه طويل جدا...
الرد
تم الشكر بواسطة: سعود
#2
(17-12-20, 07:01 AM)ابو روضة كتب :
السلام عليكم ورحمة الله وبركاته...

لدى كود طويل جدا بجلب به نصوص عناوين لقصص محددة من على الانترنت..
الصفحة التى بجلب منها القصص بها نصوص بعمل لها استثناء لآنى لا أريدها...
وهذه صورة للكود كى تفهموا المقصد





وهذا هو الكود

كود :
Dim input As HtmlElementCollection
       input = wb.Document.GetElementsByTagName("a")
       For Each item As HtmlElement In input
           If item.GetAttribute("href").Contains(".htm") _
               AndAlso (Not item.InnerText.Contains("قصص نسائية")) _
               AndAlso (Not item.GetAttribute("href").Contains(".pdf") _
                        AndAlso (Not item.InnerText.Contains("قصص الرسول")) _
                        AndAlso (Not item.InnerText.Contains("الحصاد المر")) _
                              AndAlso (Not item.InnerText.Contains("للنساء فقط")) _
                                     AndAlso (Not item.InnerText.Contains("البيت السعيد")) _
                                      AndAlso (Not item.InnerText.Contains("تربية الأبناء")) _
                                       AndAlso (Not item.InnerText.Contains("الدورات العلمية")) _
                                          AndAlso (Not item.InnerText.Contains("تفعيل العمل الخيري")) _
               AndAlso (Not item.InnerText.Contains("المسابقات الثقافية")) _
               AndAlso (Not item.InnerText.Contains("المخيمات الدعوية")) _
               AndAlso (Not item.InnerText.Contains("الألعاب الحركية والذهنية")) _
               AndAlso (Not item.InnerText.Contains("الرحلات الدعوية")) _
               AndAlso (Not item.InnerText.Contains("حلقات تحفيظ القرآن")) _
               AndAlso (Not item.InnerText.Contains("الدعوة في المنتديات")) _
               AndAlso (Not item.InnerText.Contains("ساهم في نشر الإسلام")) _
                        AndAlso (Not item.InnerText.Contains("مذكرات ضابط أمن"))) Then
               lst.Add(item.GetAttribute("href"))
               CheckedListBox1.Items.Add(item.InnerText)
           End If
       Next item

وهذه هى الصفحة وما اريده منها العناوين الموجودة فى وسط الصفحة ليست التى على اليمين ولا اليسار.


والكود شغال تمام لكنه طويل جدا...




"العناوين الموجودة فى وسط الصفحة ليست التى على اليمين ولا اليسار"
كود :
Dim input = wb.Document.GetElementById("AutoNumber1").GetElementsByTagName("tr")
For Each item As HtmlElement In input
   Dim a = item.GetElementsByTagName("a")(0).GetAttribute("href")
   Dim t = item.InnerText.Trim
   If a.ToLower.EndsWith(".htm") Then
       lst.Add(a)
       CheckedListBox1.Items.Add(t)
   End If
Next item
الرد
تم الشكر بواسطة: سعود , ابو روضة
#3
(17-12-20, 11:46 AM)shafik كتب :
كود :
For Each item As HtmlElement In input
   Dim a = item.GetElementsByTagName("a")(0).GetAttribute("href")
   Dim t = item.InnerText.Trim
   If a.ToLower.EndsWith(".htm") Then
       lst.Add(a)
       CheckedListBox1.Items.Add(t)
   End If
Next item

عبقرى ما شاء الله عليك أخى...
جزاك الله كل الخير.
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] قاعدة البيانات تأخذ وقت طويل لتحميل البيانات ma7ame7o 1 619 26-12-19, 02:45 AM
آخر رد: اسامه الهرماوي
  إمكانية إختصار هذا الكود بدالة ahmedfa71 8 1,554 18-04-17, 01:47 PM
آخر رد: ahmedfa71
Exclamation كود الحفظ طويل جدا - هل يمكن فصلة الى سطر ثاني الدريساوي 4 3,154 06-03-15, 04:34 PM
آخر رد: Mostafa Saad
  سؤوال طويل شوية عمار عيثاوي 0 814 02-11-14, 09:32 PM
آخر رد: عمار عيثاوي

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


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