تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
جلب صورة أى فيديو بالHtmlAgilityPack
#1
استعمل هذا الكود لجلب صورة فيديو يوتيوب وعرضها داخل PictureBox  لكنه لم يفلح


كود :
 Dim wc As New WebClient
       wc.Encoding = Encoding.UTF8
       Dim html As String = wc.DownloadString("https://www.youtube.com/watch?v=a80DTFHrmi0")
       Dim doc As New HtmlAgilityPack.HtmlDocument
       doc.LoadHtml(html)
       For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//*[@id='grid-558373']/li[5]/div/div[1]/div[1]/a/div/span/img")
           PictureBox1.Load(n.Attributes("src").Value)
       Next

فممكن اعرف ما هو الخطأ لو سمحتم .
الرد }}}
تم الشكر بواسطة:
#2
من الطبيعي سيكون الخطاء فى هذا الجزء
كود :
id='grid-558373'

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

حتى بمجرد البحث عن 
كود :
grid-

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

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

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: ابو روضة
#3
(30-10-18, 09:31 PM)elgokr كتب : من الطبيعي سيكون الخطاء فى هذا الجزء
كود :
id='grid-558373'

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

حتى بمجرد البحث عن 
كود :
grid-

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

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

نعم أخى ولكنى بحاول مع كذا فيديو وصححت الكود بعض الشيئ وللاسف كما هو الحال

الكود الجديد


كود :
Dim wc As New WebClient
       wc.Encoding = Encoding.UTF8
       Dim html As String = wc.DownloadString("https://www.youtube.com/watch?v=q9yKUiOYj8Y")
       Dim doc As New HtmlAgilityPack.HtmlDocument
       doc.LoadHtml(html)
       For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//*[@id='watch7-sidebar-modules']/div[1]/div/div[2]/ul/li/div[2]/a/span/img")
           PictureBox1.Load(n.Attributes("src").Value)
       Next
الرد }}}
تم الشكر بواسطة:
#4
بخصوص الكود الاخير بعد التحرير يعمل بدون مشكلة
ولكن ستحتاج الى تعديل بسيط وهو جعل السطر التالى بهذا الشكل
كود :
PictureBox1.Load("https://s.ytimg.com" + n.Attributes("src").Value)

طيب لماذا لم يظهر اى صورة
لان المسار الذى تم جلبه عبارة عن الرابط التالى

طيب لو تخيلنا الكود ماذا يجلب تماماً


الكود وظيفته ان يصل الى هذا السطر 
كود :
<img width="168" data-thumb="https://i.ytimg.com/vi/a80DTFHrmi0/hqdefault.jpg?sqp=-oaymwEiCKgBEF5IWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&amp;rs=AOn4CLD15kojLztiUo2kAVVuC2UZDs7Y5A" alt="" style="top: 0px" src="/yts/img/pixel-vfl3z5WfW.gif" height="94" aria-hidden="true" >

من ثم جلب البيانات خاصة قيمة [ src ] وهي 
كود :
/yts/img/pixel-vfl3z5WfW.gif

طيب معنى كده لو كنت محتاج جلب صورة الفيديو فالاصح تغيير كلمة [ src ] الى [ data-thumb ] 

تماماً كده حتى يصبح السطر التعديل التالى
كود :
PictureBox1.Load(n.Attributes("src").Value)

ليصبح بعد التعديل بهذا الشكل
كود :
PictureBox1.Load(n.Attributes("data-thumb").Value)

ليعرض بالنهاية عند الاختبار هذه الصورة


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

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: ابو روضة , dubai.eig
#5
(31-10-18, 04:43 AM)elgokr كتب : بخصوص الكود الاخير بعد التحرير يعمل بدون مشكلة
ولكن ستحتاج الى تعديل بسيط وهو جعل السطر التالى بهذا الشكل
كود :
PictureBox1.Load("https://s.ytimg.com" + n.Attributes("src").Value)

طيب لماذا لم يظهر اى صورة
لان المسار الذى تم جلبه عبارة عن الرابط التالى

طيب لو تخيلنا الكود ماذا يجلب تماماً


الكود وظيفته ان يصل الى هذا السطر 
كود :
<img width="168" data-thumb="https://i.ytimg.com/vi/a80DTFHrmi0/hqdefault.jpg?sqp=-oaymwEiCKgBEF5IWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&amp;rs=AOn4CLD15kojLztiUo2kAVVuC2UZDs7Y5A" alt="" style="top: 0px" src="/yts/img/pixel-vfl3z5WfW.gif" height="94" aria-hidden="true" >

من ثم جلب البيانات خاصة قيمة [ src ] وهي 
كود :
/yts/img/pixel-vfl3z5WfW.gif

طيب معنى كده لو كنت محتاج جلب صورة الفيديو فالاصح تغيير كلمة [ src ] الى [ data-thumb ] 

تماماً كده حتى يصبح السطر التعديل التالى
كود :
PictureBox1.Load(n.Attributes("src").Value)

ليصبح بعد التعديل بهذا الشكل
كود :
PictureBox1.Load(n.Attributes("data-thumb").Value)

ليعرض بالنهاية عند الاختبار هذه الصورة


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

ههههه والله انك لفنان ابن فنان وما عجبنى أكثر بخلاف حل المشكلة
وظهور الصورة سريعاً هو تحليلك وشرحك الذى يجعل من العدم وجود
ومن المستحيل ممكناً... روح يا شيخ الله يرزقك جنة الدنيا و الأخرة
الرد }}}
تم الشكر بواسطة: dubai.eig , dubai.eig , elgokr
#6
بفضل الله ثم أنت جلبت الصورة واسم الفيديو كمان


PHP كود :
 Dim wc As New WebClient
        wc
.Encoding Encoding.UTF8
        Dim html 
As String wc.DownloadString("https://www.youtube.com/watch?v=q9yKUiOYj8Y")
 
       Dim doc As New HtmlAgilityPack.HtmlDocument
        doc
.LoadHtml(html)
 
       For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//*[@id='watch7-sidebar-modules']/div[1]/div/div[2]/ul/li/div[2]/a/span/img")
 
           For Each d As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//*[@id='eow-title']")
 
               TextBox3.Text d.InnerText.Trim
                PictureBox1
.Load(n.Attributes("data-thumb").Value)
 
           Next
        Next 
الرد }}}
تم الشكر بواسطة: elgokr
#7
(31-10-18, 12:00 PM)ابو روضة كتب :
ههههه والله انك لفنان ابن فنان وما عجبنى أكثر بخلاف حل المشكلة
وظهور الصورة سريعاً هو تحليلك وشرحك الذى يجعل من العدم وجود
ومن المستحيل ممكناً... روح يا شيخ الله يرزقك جنة الدنيا و الأخرة

Big Grin  دائماً الابتسامة يارب والضحكة الجميلة من القلب

تقبل الله منك الدعاء ولنا جميعاً باذن الله

(31-10-18, 03:22 PM)ابو روضة كتب :
بفضل الله ثم أنت جلبت الصورة واسم الفيديو كمان


PHP كود :
 Dim wc As New WebClient
        wc
.Encoding Encoding.UTF8
        Dim html 
As String wc.DownloadString("https://www.youtube.com/watch?v=q9yKUiOYj8Y")
 
       Dim doc As New HtmlAgilityPack.HtmlDocument
        doc
.LoadHtml(html)
 
       For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//*[@id='watch7-sidebar-modules']/div[1]/div/div[2]/ul/li/div[2]/a/span/img")
 
           For Each d As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//*[@id='eow-title']")
 
               TextBox3.Text d.InnerText.Trim
                PictureBox1
.Load(n.Attributes("data-thumb").Value)
 
           Next
        Next 

الحمد لله والحمد لله على كل حال

يفضل ان تجعل الكود بهذا الشكل

كود :
Dim wc As New WebClient
       wc.Encoding = Encoding.UTF8
       Dim html As String = wc.DownloadString("https://www.youtube.com/watch?v=q9yKUiOYj8Y")
       Dim doc As New HtmlAgilityPack.HtmlDocument
       doc.LoadHtml(html)
       For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//*[@id='watch7-sidebar-modules']/div[1]/div/div[2]/ul/li/div[2]/a/span/img")
           PictureBox1.Load(n.Attributes("data-thumb").Value)
       Next
       For Each d As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//*[@id='eow-title']")
           TextBox3.Text = d.InnerText.Trim
       Next

لان تخيل لو قلنا يماً ما اصبح كود كلب الصورة اكثر من مرة 

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

لتبسيط الامر لنتخيل الـ For الاولى خاصة جلب الصورة تتم على 3 مرحل تنفيذ
1- صورة
2- صورة
3- صورة

بينما For خاصة العنوان فقط واحد ليصبح
1- عنوان

تخيل وهما بداخل بعض سيكون الامر
1- صورة > 1- عنوان
2- صورة > 1- عنوان
3- صورة > 1- عنوان

اتمنى ان تكون ما اقصده وصلت لك

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

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: ابو روضة
#8
(31-10-18, 10:37 PM)elgokr كتب :
(31-10-18, 12:00 PM)ابو روضة كتب :
ههههه والله انك لفنان ابن فنان وما عجبنى أكثر بخلاف حل المشكلة
وظهور الصورة سريعاً هو تحليلك وشرحك الذى يجعل من العدم وجود
ومن المستحيل ممكناً... روح يا شيخ الله يرزقك جنة الدنيا و الأخرة

Big Grin  دائماً الابتسامة يارب والضحكة الجميلة من القلب

تقبل الله منك الدعاء ولنا جميعاً باذن الله

(31-10-18, 03:22 PM)ابو روضة كتب :
بفضل الله ثم أنت جلبت الصورة واسم الفيديو كمان


PHP كود :
 Dim wc As New WebClient
        wc
.Encoding Encoding.UTF8
        Dim html 
As String wc.DownloadString("https://www.youtube.com/watch?v=q9yKUiOYj8Y")
 
       Dim doc As New HtmlAgilityPack.HtmlDocument
        doc
.LoadHtml(html)
 
       For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//*[@id='watch7-sidebar-modules']/div[1]/div/div[2]/ul/li/div[2]/a/span/img")
 
           For Each d As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//*[@id='eow-title']")
 
               TextBox3.Text d.InnerText.Trim
                PictureBox1
.Load(n.Attributes("data-thumb").Value)
 
           Next
        Next 

الحمد لله والحمد لله على كل حال

يفضل ان تجعل الكود بهذا الشكل

كود :
Dim wc As New WebClient
       wc.Encoding = Encoding.UTF8
       Dim html As String = wc.DownloadString("https://www.youtube.com/watch?v=q9yKUiOYj8Y")
       Dim doc As New HtmlAgilityPack.HtmlDocument
       doc.LoadHtml(html)
       For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//*[@id='watch7-sidebar-modules']/div[1]/div/div[2]/ul/li/div[2]/a/span/img")
           PictureBox1.Load(n.Attributes("data-thumb").Value)
       Next
       For Each d As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//*[@id='eow-title']")
           TextBox3.Text = d.InnerText.Trim
       Next

لان تخيل لو قلنا يماً ما اصبح كود كلب الصورة اكثر من مرة 

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

لتبسيط الامر لنتخيل الـ For الاولى خاصة جلب الصورة تتم على 3 مرحل تنفيذ
1- صورة
2- صورة
3- صورة

بينما For خاصة العنوان فقط واحد ليصبح
1- عنوان

تخيل وهما بداخل بعض سيكون الامر
1- صورة > 1- عنوان
2- صورة > 1- عنوان
3- صورة > 1- عنوان

اتمنى ان تكون ما اقصده وصلت لك

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


بارك الله فيك أخى الجوكر على إهتمامك وتبسيط كل الأمور

على جميع الأعضاء والف مليون مبروك الاشراف والله تستحقها وبجدارة كمان...
الرد }}}
تم الشكر بواسطة:
#9
انا مش هرد عليك 
هسيب الصورة تخيلها ترد عليك  Big Grin


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

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: bidaya


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تعديل كود ارسال صورة الى الواتس new_programer 2 114 21-03-24, 10:07 PM
آخر رد: new_programer
  محتاج تشفير فيديو وتشغلية عن طريق البرنامج فقط new_programer 1 112 22-02-24, 12:09 PM
آخر رد: AHMED213
  وضع صورة كخلفية للبروقرس بار لكن!! سعود 1 572 27-08-22, 03:46 PM
آخر رد: DR.YASER
  البحث عن صورة kebboud 5 996 23-08-22, 02:20 AM
آخر رد: Taha Okla
  كيفية اضافة صورة كخلفية في الكريستال ريبورت atefkhalf2004 1 692 22-07-22, 05:06 PM
آخر رد: أبو خالد الشكري
  استعراض صورة من listview الى picturbox Lathe1 1 585 12-07-22, 03:26 PM
آخر رد: Lathe1
  تعديل صورة مكان صورة محفوظة في قاعدة البيانات mustafa mohamed 2 1,524 26-03-22, 07:00 PM
آخر رد: mustafa mohamed
  [VB.NET] عرض صورة مخزنة فيdatabase محمد بوقزاحة 0 753 26-03-22, 06:48 PM
آخر رد: محمد بوقزاحة
  [VB.NET] ايه افضل طريقة لاستخراج ارقام من صورة ؟ الماجيك مسعد 2 1,150 17-03-22, 03:52 PM
آخر رد: الماجيك مسعد
  [VB.NET] استرجاع صورة من قاعدة بيانات اكسس 2007 alrashidy 0 925 11-03-22, 12:31 AM
آخر رد: alrashidy

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


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