C# ile YouTube İşlemleri

Bu konumda sizlere elimden geldiğince regex kullanarak youtube kullanımını anlatacağım. using System.Text.RegularExpressions; ekliyoruz projemize.

ID Alma

Youtube video linkleri “http://www.youtube.com/watch?v=B4-5h6BJbHE” şeklindedir yani http://www.youtube.com/watch?v=ID şimdi bu ID değerini alalım.


Ekrana çıktı olarak aşağıdaki değer yansıyacaktır.

YouTube Video Görüntüsü Alma 

Youtube’da Cyber-Warrior yazıp arayalım .

Örnek Sonuç;

Videonun Linki: http://www.youtube.com/watch?v=B4-5h6BJbHE
Görsele sağ tıklayıp yeni sekmede açalım.


Resim URL : http://i1.ytimg.com/vi/B4-5h6BJbHE/default.jpg

Dikkat ederseniz http://i1.ytimg.com/vi/ID/default.jpg şeklinde .Sadece ID Değerini almamız bizim için yeterli geri kalan kısımları kendimiz ekleteceğiz. Şimdi forma bir picturebox ekleyelim ve formun load eventini açıp aşağıdaki kodları yazalım.

Sonuç ; 

Youtube video görseli pictureboxa aktarıldı. Ayrıca ; http://i1.ytimg.com/vi/ID/0.jpg veya http://i1.ytimg.com/vi/ID/mqdefault.jpg olarakda alabilirsiniz.

Pencere Başlığı Alma

Pencere başlıkları <title> tagında bulunur. Videonun html kodlarını alıp title tagı arasındaki metni alacağız. Video açıp html kodlarını açalım. <title> </title> arasında pencere başlığı var.

Forma bir textbox ekleyip formun loadını açalım ve aşağıdaki kodları yazalım.

Sonuç ; 

Pencere başlığı textboxa aktarıldı.Pencere Başlığı = “Cyber-Warrior TIM | Hz.Muhammed sav’e karikatür çizen site’ye (drawmohammed) Domain Hack (720p) – YouTube” dikkat ederseniz ‘ yerine ‘ değeri var bunları da replace ile değiştirebilirsiniz.

Gönderici Alma

Videoyu paylaşan kişi alırken pencere başlığını almadaki gibi html kodları ile alacağız.

Bilisimdunyası007 yazısına sağ tıklayıp öğeyi denetle diyelim.

Forma bir textbox ekleyip loadını açalım ve açağıdaki kodları yazalım.

Sonuç; 

Değer sorunsuz bir şekilde aktarıldı .

İzlenme Sayısı Alma

İzlenme sayısı html kodları alalım.

Boşluklar var. Boşlukları silerek stringe aktarıp işlem yapacağız. Forma bir textbox ekleyip loadını açalım ve aşağıdaki kodları yazalım.

Sonuç; 

Açıklama Metni Alma

Açıklama metni html kodlarına bakalım.

<p id=”eow-description” >Cyber-Warrior isimli Türk hack timinin, Hz. Muhammed (S.A.v.)’e karşı ahlak dışı karikatürler çizen drawmohammed isimli siteye yaptığı operasyon sonucu domain’i hack ettiği çalışma. İyi seyirler…<br />
<p id=”eow-description” >yorum<br /> arasındaki veriyi alacağız. Forma bir textbox ekleyip loadını açalım ve aşağıdaki kodları yazalım.

Sonuç ; 

Pencere başlığında olduğu gibi karakter sorunları var bunları da replace ile değiştirebilirsiniz.

Youtube Video İndirme

Video indirme konusunda internette çeşitli projeler mevcut ama doküman konusunda sıkıntı var. Genellikle youtube video indirme siteleri üzerinden indirmeler anlatılmakta ama regexle anlatacağım. Sayfa kaynak kodlarını açalım. “stream” sözcüğüyle ilgili arama yapalım.
“url_encoded_fmt_stream_map”: “type=video%2Fmp4%3B+codecs%3D“avc1.64001F%2C+mp4a.40.2“\\u0026url=http%3A%2F%2Fr13—sn- … şeklinde html kodlar çıkacak. url= ve sig= kısımlarını çekip üzerinde işlem yapacağız.
Belli aralıkları almak için öncelik aşağıdaki kodları yazalım (lazım olacak).

Forma bir listbox ve button ekleyelim ve aşağıdaki kodları yazalım;

Özet:

Web client tanımladık ardından bu client ile html kodlarını aldık. Title isimli bir string tanımladık ve regexle title değerini alıp bu stringe atadık. Ardından “url_encoded_fmt_stream_map”: ” ile & arasındaki değeri aldık.
type=video/mp4; codecs=”avc1.64001F, mp4a.40.2″\\u0026url=http://r13—sn-5hn7sney.googlevideo.com/videoplayback?mt=1383982762&key=yt5&ip=5.47.252.216&upn=Npu4Sx8cwrw&ratebypass=yes&itag=22&sparams=id …. swf = swf.replace(’__flashvars__’, encoded.join(’&
regex replace ile type= ayıraç olarak ayırdık. Her bir type= den sonraki değerin içinde eğer url= varsa işlem yapılacak bu değerde. url= den sonraki değer alıcağız ardından sig= den sonraki değer alıcağız. Eğer son değer , . \\ ise silinecek ve son olarak değerler birleştirilecek.
Alınan url değeri & “&signature=” & alınan sig değeri & “&title=” & pencere başlığı
Ardından da listbox a eklenecek. Daha sonra nasıl indireceğinize siz karar verin.

Selametle…

Bir önceki yazımız olan C# ile MSN Messenger Yapımı başlıklı makalemizde C# Dersleri, C# ile MSN Messenger ve C# ile MSN Messenger Nasıl Yapılır? hakkında bilgiler verilmektedir.

About This Author

4 Comments

You can post comments in this post.

Post A Reply