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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (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


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

السلام عليكم اخوتى


هناك موقع بحمل من اليوتيوب لكن فى بعض الفيديوهات خالية من الصوت
وهناك روابط اخرى بها الصوت وانا اريد اختيار الروابط التى بها الصوت فقط
وتجاهل الباقى... فالذى يوجد به الصوت مكتوب بجواره  480P with Audio




أما الأخر مكتوب بطريقة عادية دون هذه الكلمة....

وهذا هو الكود الذى أجلب به كل الروابط


كود :
Dim input As HtmlElementCollection
       input = WebBrowser1.Document.GetElementsByTagName("a")
       For Each item As HtmlElement In input
           If item.GetAttribute("href").Contains("googlevideo") Then
               ListBox1.Items.Add(item.GetAttribute("href"))
           End If
       Next item

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

http://www.tubeoffline.to/downloadFrom.php?host=OnLine&d=&video=https://www.youtube.com/watch?v=sThzWbKBzS0

وجزاكم الله كل خير



RE: اختيار روابط معينة من بين روابط - سعود - 19-07-18

للاسف اني لا اعرف التعامل مع الـhtmlweb المدمجة مع الفيجوال استوديو
اعرف لـ HtmlAgilityPack فقط.

باختصار لو تعرف كيفية الوصول لقيمة محددة بالاندكس يمكن التحقق من القيمة.


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


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

(19-07-18, 03:19 AM)سعود كتب : للاسف اني لا اعرف التعامل مع الـhtmlweb المدمجة مع الفيجوال استوديو
اعرف لـ HtmlAgilityPack فقط.

باختصار لو تعرف كيفية الوصول لقيمة محددة بالاندكس يمكن التحقق من القيمة.


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

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



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

بخصوص الرابط المذكور لجلب رابط تحميل

يمكنك تجربة كلاً من المواقع التالية
https://y2mate.com/youtube/sThzWbKBzS0
و
https://qdownloader.net/download?video=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DsThzWbKBzS0

فستجد فيهم سهولة اكثر فى استخراج البيانات
تحياتى لك



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

(19-07-18, 07:54 AM)elgokr كتب :
بخصوص الرابط المذكور لجلب رابط تحميل

يمكنك تجربة كلاً من المواقع التالية
و

فستجد فيهم سهولة اكثر فى استخراج البيانات
تحياتى لك

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



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

فى موقع مثل التالى
https://www.onlinevideoconverter.com/video-converter

وهو متعدد المواقع يقوم بعمل تحويل ايضاً للرابط لاى صيغة مطلوبة

تحياتى لك



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

(19-07-18, 10:13 PM)elgokr كتب :
فى موقع مثل التالى

وهو متعدد المواقع يقوم بعمل تحويل ايضاً للرابط لاى صيغة مطلوبة

تحياتى لك

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



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

(19-07-18, 11:53 PM)ابو روضة كتب :
(19-07-18, 10:13 PM)elgokr كتب :
فى موقع مثل التالى

وهو متعدد المواقع يقوم بعمل تحويل ايضاً للرابط لاى صيغة مطلوبة

تحياتى لك

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

ليس بالصعب 

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

اذا كان لدى بعض الوقت غداً ساقوم بالنظر على الموقع كاملاً
ولعل اضع الكود المناسب لذلك

تحياتى لك



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

(20-07-18, 02:27 AM)elgokr كتب :
(19-07-18, 11:53 PM)ابو روضة كتب :
(19-07-18, 10:13 PM)elgokr كتب :
فى موقع مثل التالى

وهو متعدد المواقع يقوم بعمل تحويل ايضاً للرابط لاى صيغة مطلوبة

تحياتى لك

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

ليس بالصعب 

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

اذا كان لدى بعض الوقت غداً ساقوم بالنظر على الموقع كاملاً
ولعل اضع الكود المناسب لذلك

تحياتى لك

اعتقد ان النتائج ثابتة أستاذى وعموما وقتما يكون الوقت مناسب لك سأكون بانتظارك



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

(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 وما غير ذلك

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