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


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

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


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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  يجبرني البرنامج على حفظ صورة الموظف!! أبووسم 3 105 10-12-18, 11:49 PM
آخر رد: ahmadpal
  [سؤال] كيف أقوم بنسخ كلام عربي او انجليزي من صورة من خلال VB.net dametucorazon 4 118 04-12-18, 12:06 PM
آخر رد: dametucorazon
  ادراج صورة في الكرستال ريبورت المتألق9 2 104 02-12-18, 03:37 PM
آخر رد: المتألق9
  [سؤال] كيف احفظ صورة من picturebox1 الى مجلد ضمن مسار البرنامج بدون ظهور مربع حوار mh66 5 147 16-11-18, 07:53 PM
آخر رد: mh66
  [VB.NET] جلب صورة شخصية من الانستغرام trakktour 4 126 15-11-18, 04:22 AM
آخر رد: trakktour
  [سؤال] مشكلة في اظهار صورة عن طريق path Simo1991 4 111 06-11-18, 05:52 PM
آخر رد: Simo1991
  [سؤال] فتح صورة من خلال openfiledialog وعرضها في listview Simo1991 1 96 05-11-18, 06:47 PM
آخر رد: Simo1991
  [سؤال] تشغيل فيديو من ComboBox hamadz 11 283 03-11-18, 01:37 PM
آخر رد: elgokr
  فيديو كود رائع لربط قاعدة بيانات بالبرنامج ( منقول ) asemshahen5 0 96 23-10-18, 11:44 AM
آخر رد: asemshahen5
  [VB.NET] اريد اظهار صورة الباركود في التقرير محمد بوقزاحة 0 112 22-10-18, 11:32 AM
آخر رد: محمد بوقزاحة

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


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