تقييم الموضوع :
  • 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


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

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


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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طباعة ملف word او text او حتى صورة يونس علي 5 144 16-05-19, 01:24 PM
آخر رد: elgokr
  [سؤال] كيف اضافة صورة عن طريق الاسكانر وهج الصحراء 2 108 19-04-19, 12:42 PM
آخر رد: elgokr
  أريد مثال علي كيفية التعرف علي وجه شخص من خلال فديواو صورة ؟ PeterGhattas082460 3 124 18-04-19, 06:04 AM
آخر رد: محمد كريّم
  [كود] طريقة البحث عن صورة في قاعدة البيانات access باستعمال صورة أخرى technomedia 6 248 20-02-19, 04:01 PM
آخر رد: elgokr
  عرض صورة في الكريستال ريبورت ولكنها موجوده في جدول منفصل Emam emam 8 318 07-02-19, 04:34 PM
آخر رد: عبد العزيز البسكري
  عرض صورة في الكريستال ريبورت Emam emam 11 446 02-02-19, 10:42 PM
آخر رد: Emam emam
  مشكلة برفع صورة من خلال الويب براوزر ابو روضة 7 341 23-01-19, 07:12 PM
آخر رد: elgokr
  مسح صورة من الملف الموجود في البرنامج hassan 14 23 912 08-01-19, 01:50 PM
آخر رد: hassan 14
  [سؤال] أستفسار بخصوص صورة GIF baqaa8 2 193 29-12-18, 01:24 AM
آخر رد: a.wagdi
  تشغيل ملف صوت او فيديو من الريسورس cvcvcv 15 4,335 26-12-18, 10:21 AM
آخر رد: سيف الله الشريف

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


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