منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
اختيار روابط معينة من بين روابط - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : اختيار روابط معينة من بين روابط (/showthread.php?tid=25788)

الصفحات: 1 2


RE: اختيار روابط معينة من بين روابط - ابو روضة - 20-07-18

(20-07-18, 05:03 PM)elgokr كتب :
(20-07-18, 03:31 AM)ابو روضة كتب :
اعتقد ان النتائج ثابتة أستاذى وعموما وقتما يكون الوقت مناسب لك سأكون بانتظارك


للاسف النتائج غير ثابتة فى بعض الاحيان النادرة

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

فى البداية قم بانشاء TextBox واجعله Multiline

ثم قم بتطبيق التالى فى زر استخراج الروابط
كود :
       Dim input As HtmlElementCollection
       input = WebBrowser1.Document.GetElementsByTagName("td")
       For Each elem As HtmlElement In input
           Dim GetData_ As String = elem.OuterHtml.Replace("<TD>", "").Replace("</TD>", "").Replace("<A href=""", "").Replace(""" rel=""noreferrer nofollow"" download>DOWNLOAD</A>", "")
           If GetData_ IsNot Nothing Then
               TextBox1.Text += GetData_
           End If
       Next

       Dim Total_ As Integer = (TextBox1.Lines.Length - 1) / 3

       If Total_ = 12 Then
           For ii As Integer = 0 To TextBox1.Lines.Length - 1
               If ii = 15 Or ii = 30 Or ii = 33 Or ii = 36 Then
                   ListBox1.Items.Add(TextBox1.Lines(ii))
               End If
           Next
       ElseIf Total_ = 15 Then
           For ii As Integer = 0 To TextBox1.Lines.Length - 1
               If ii = 18 Or ii = 21 Or ii = 39 Or ii = 42 Or ii = 45 Then
                   ListBox1.Items.Add(TextBox1.Lines(ii))
               End If
           Next
       ElseIf Total_ = 17 Then
           For ii As Integer = 0 To TextBox1.Lines.Length - 1
               If ii = 21 Or ii = 24 Or ii = 45 Or ii = 48 Or ii = 51 Then
                   ListBox1.Items.Add(TextBox1.Lines(ii))
               End If
           Next
       End If
       Button1.Enabled = False

الان نشرح فكرة الكود
بخصوص هذا السطر
كود :
Dim Total_ As Integer = (TextBox2.Lines.Length - 1) / 3

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


حيث انه سيقوم بجلب رقم 15
ثم تم استخدام كلاً من الاسطر التالى للتحقق
كود :
If Total_ = 12 Then
ElseIf Total_ = 15 Then
ElseIf Total_ = 17 Then

حيث انه ناتج لعدد الاسطر بالجدول طبقاً لكل رابط حسب الجودة التى تحتوى
الروابط التى تم استخدامها
الرابط الاول بنتائج 15 سطر اعلى جودة للفيديو 720
PHP كود :
http://www.tubeoffline.to/downloadFrom.php?host=OnLine&d=&video=https://www.youtube.com/watch?v=sThzWbKBzS0 

الرابط الثانى بنتائج 12 سطر اعلى جودة للفيديو 480
PHP كود :
http://www.tubeoffline.to/downloadFrom.php?host=OnLine&d=&video=https://www.youtube.com/watch?v=2ZuDh0vqxUE 

الرابط الثالث بنتائج 17 سطر اعلى جودة للفيديو 1080
PHP كود :
http://www.tubeoffline.to/downloadFrom.php?host=OnLine&d=&video=https://www.youtube.com/watch?v=btUPp-VJGos 

طيب يليه بعد ذلك الكود المستخدم مثل
كود :
If ii = 18 Or ii = 21 Or ii = 39 Or ii = 42 Or ii = 45 Then

والارقام هنا تعنى التالى


لو تلاحظ ان كلاً من رقم 18 و 21 و 39 و 42 و 45 
يشير الى الروابط المطلوب جلبها الخاصة بـ With Audio

طيب ايه المطلوب لتتاكد ان الكود قد يحتاج لاضافة بعد الاسطر وانه سيعمل معاك
كل ما هو عليك فعله تجربة فيديوهات عديدة على هذا الموقع بكل ما تقدر من الجدودة حتى اذا كان الفيديو 144
مع مراجعة الروابط بجدودة 480 و 720 و 1080 هل النتائج لعدد الاسطر كما تم عمله فى الكود ام تختلف من فيديو لاخر

اتمنى اكون وصلت لك الفكرة وكيفية التعامل مع الموقع المطلوب

ملحوظة Sad :  (قد لا يعمل الكود بصورة ايجابية فى حالة ظهور اسطر مخفية فى نتائج الجدول وستجد نتائج الجدول تحتوى مثل)
كود :
240p
MP4
https://i.ytimg.com/vi/eeqUNYGLn7Q/maxresdefault.jpg

عند اختبار الكود ستجد انه نادر ظهور هذا الا عند ظهورها ستجد ان الزر لا يعمل
وستطر الى اغلاق البرنامج واعادة تشغيله لعرض نتائج مختلفة
والسبب يرجع الى لو الموقع يعرض 15 سطر وقام الموقع بوضع سطر او اكثر مخفي
فيصبح النتائج مثل 16 و 17 و 18 سطر
حيث انك قمت بوضح شطر التحقق اذا كان عدد الاسطر 15 يعرض الروابط كذا
فهنا تجد انه سيعرض نتائج اسطر 17 خاصة جودة 1080 او انه لا يعرض شئ لو كان الاسطر 16 او 18 وما غير ذلك

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

كل هذا المجهود لابد أن يعجب الجبال الشامخات كمان...
يا أخى أنت تخطيت حدود الإبداع وما هو أكثر صدقنى...



RE: اختيار روابط معينة من بين روابط - elgokr - 20-07-18

شكراً لك اخى ابو روضة
والشكر لله

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