karanlık proxyscrape logo

Scrape YouTube Videos Using Python- An Easy Approach in 2024

Nasıl yapılır, Python, Kazıma, Aralık-05-20225 dakika okuma
YouTube, Google'ın ardından dünyanın en popüler ikinci motorudur. Kullanıcıların video izleyebildiği, paylaşabildiği, beğenebildiği, yorum yapabildiği ve yükleyebildiği bir video paylaşım hizmetidir. Vlogger'lara, bilgilendirici içeriklere, eğitim videolarına ve diğer birçok veriye ev sahipliği yapmaktadır. Youtube'un ana işlevlerinden bazıları şunlardır:
  • Video arama ve izleme
  • Kişisel bir Youtube kanalı oluşturma
  • Kanalınıza video yükleme
  • Diğer kanallara ve kullanıcılara abone olma
  • Diğer Youtube videolarını beğenme ve paylaşma
  • Videoları birlikte düzenlemek için oynatma listeleri oluşturma

Web kazıma yardımıyla Youtube'dan veri çıkarabilir ve bu verilerden değerli bilgiler elde ederek kuruluşunuza fayda sağlayabilirsiniz. Youtube'dan veri çıkarmayı öğrendiğinizde, ne tür veriler istediğinizi bilmek önemlidir. Örneğin, insanların çalışmanıza verdiği tepkileri bilmek istiyorsanız, kullanıcı duyarlılığı analizi için yorumlar bölümünü kazıyabilirsiniz. Benzer şekilde, bir videonun başarısını izlemek istiyorsanız, video performans verilerini kazıyabilirsiniz. 

Youtube videolarını nasıl kazıyacağımızı öğrenmeden önce, onları neden kazımamız gerektiğini öğrenelim.

İçindekiler

Youtube'daki Videoları Neden Kazıyalım?

Aşağıda Youtube verilerini kazımanın iki ana nedeni belirtilmiştir.

  • Video Performans Verileri - Bir marka için bilgilendirici videolar yayınladığınızda, kitlenizin bunlara nasıl tepki verdiğini takip etmek önemlidir. Belirli bir video için sayfayı kazımak, görüntüleme, beğenme, beğenmeme, yorum, kanal abonesi sayısı ve daha fazlasını almanıza yardımcı olacaktır. Bu metriklerin her birinin oranını aklınızda tutmanız gerekir. Örneğin, bir video milyonlarca görüntülemeye sahip olabilir ve beğenilerden daha fazla beğenilmeyebilir. Görüntüleme sayısı, çok beğenilen veya yüksek kaliteli bir videonun göstergesi değildir. Bunun yerine, görüntülenme sayısının beğenme/beğenmeme sayısına oranı bir duyarlılık analizi biçimi olabilir.
  • Kanal Verileri - Bir Youtube kanalının sayfasını kazırken, oynatma listeleri, video sayısı, aboneler ve daha fazlasıyla ilgili veriler elde edersiniz. Ayrıca, rakip kanalların sayfalarını kazımak, kanalınızın onlarınkiyle aynı etki düzeyinde olup olmadığını daha iyi anlamak için yararlı ve bilgilendiricidir. 
  • Otomasyon Elde Edin - Sağlam web kazıyıcılar otomatik olarak Youtube'dan veri çıkarmanıza olanak tanır. Bir insanın elde etmeyi umabileceğinden daha büyük hacimde veri toplayabileceğiniz için zaman kazandırır. 
  • İş Zekası ve İçgörüler - Verileri önemli hacimlerde indirerek, temizleyerek ve analiz ederek rakiplerinizin faaliyetlerinin daha iyi bir resmini elde edebilir ve daha iyi iş kararları alabilirsiniz.

Python Kullanarak Youtube Videolarını Kazıma

Selenium ve Python kullanarak Youtube video verilerini nasıl çıkaracağımızı görelim. Selenium, web tarayıcılarını otomatikleştirmek için popüler bir araçtır. Selenium kullanarak bir web tarayıcısını otomatikleştirmek için kolayca bir Python betiği programlayabilirsiniz. 

Selenium, seçtiğiniz tarayıcı ile arayüz oluşturmak için bir sürücü gerektirir. Örneğin, Chrome, kazıma işlemine başlamadan önce yüklenmesi gereken bir ChromeDriver gerektirir.

Python Ortamının Kurulması

Adım 1 - Terminalinizi açmanız ve aşağıdaki komutu kullanarak Selenium'u yüklemeniz gerekir.
$ pip selenium yükleyin
Adım 2 - Aşağıdaki adımları izleyerek Chrome WebDriver'ı indirmeniz gerekir.
  • https://sites.google.com/a/chromium.org/chromedriver/download adresini ziyaret etmelisiniz.
  • Chrome sürümünüz için uyumlu sürücüyü seçmeniz gerekir.
  • Sağ üst köşedeki üç dikey noktaya tıklayarak kullandığınız Chrome sürümünü kontrol etmeniz gerekir.
  • Ardından, Yardım -> Google Chrome Hakkında bölümüne gitmeniz gerekir.
Adım 3 - Sürücü dosyasını bir PATH'e taşımanız gerekir.

İndirilenler dizinine gitmeli ve aşağıdakileri yapmalısınız.

  • Dosyayı açın.
  • usr/local/bin PATH konumuna taşıyın.
$ cd İndirmeler
$ unzip chromedriver_linux64.zip
$ mv chromedriver /usr/local/bin/

Youtube Videolarını Kazıma

Youtube'dan belirli bir kategorinin video kimliğini, başlığını ve açıklamasını kazıyacağız. Kazıyabileceğimiz kategoriler şu şekildedir:

  • Bilim
  • Yemek
  • Seyahat
  • İmalat vb.

Kütüphaneleri İçe Aktar

Pandas ve Selenium gibi gerekli kütüphaneleri içe aktarmanız gerekir.

from selenium import webdriver 
import pandas as pd 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC

Sürücünün Ayarlanması

Tarayıcınızda Youtube'u açmanız gerekir. Video aramak istediğiniz kategoriyi yazın ve filtreyi "videolar" olarak ayarlayın. Aramanızla ilgili videolar alacaksınız. Şimdi, URL'yi kopyalamanız gerekiyor.

URL'nin içeriğini Youtube'dan almak için sürücüyü ayarlamanız gerekir.

driver = webdriver.Chrome() 
driver.get("YOUR_LINK_HERE")
Şimdi, bağlantıyı driver.get("YOUR_LINK_HERE") işlevine yapıştırın. Hücreyi çalıştırın ve bu bağlantı için yeni bir tarayıcı penceresi açılacaktır. Söz konusu sayfada bulunan video bağlantılarını getirmeniz gerekir. Bu bağlantıları saklamak için bir liste oluşturabilirsiniz. Daha sonra, tarayıcı penceresine gitmeli ve aşağıdakileri yapmalısınız.
  • Sayfaya sağ tıklayın.
  • "İncele" öğesini seçin.
id = "video-title" olan anchor etiketini aramalısınız. Üzerine sağ tıklayın -> Kopyala -> XPath. XPath aşağıdaki gibi görünecektir:
//*[@id=”video-title”]

Aradığınız anchor etiketinin "href" özelliğini getirmek için aşağıdaki kodu kullanabilirsiniz.

user_data= driver.find_elements_by_xpath('//*[@id="video-title"]')
bağlantılar = []
for i in user_data:
            links.append(i.get_attribute('href'))

 print(len(bağlantılar))

Bir DataFrame Oluşturma

Aşağıdaki dört sütunu içeren bir veri çerçevesi oluşturmanız gerekir.

  • link
  • başlık
  • Açıklama
  • Kategori

Bu sütunlarda farklı kategoriler için videoların ayrıntılarını saklayabilirsiniz.

df = pd.DataFrame(columns = ['link', 'title', ' description', ' category'])

Python'un aşağıdaki kodunu kullanarak Youtube video ayrıntılarını kazımaya ayarlandınız.

wait = WebDriverWait(driver, 10)
v_category = "CATEGORY_NAME"
for x in links:
            driver.get(x)
            v_id = x.strip('https://www.youtube.com/watch?v=')
            v_title = wait.until(EC.presence_of_element_located(
                           (By.CSS_SELECTOR,"h1.title yt-formatted-string"))).text
            v_açıklama = wait.until(EC.presence_of_element_located(
                                         (By.CSS_SELECTOR,"div#description 
                                         yt-formatted-string")).text
            df.loc[len(df)] = [v_id, v_title, v_description, v_category]

İşte,

  • wait, "until" koşulunda varsayılan olarak karşılaşılan NotFoundException örneklerini yok sayar. 
  • Parametreleri ve bekle işlevi vardır:
    • driver - Beklenen koşullara geçirilecek WebDriver örneğidir.
    • timeOutInSeconds - Beklenti çağrıldığında zaman aşımıdır.
  • v_category video kategori_adını saklamak için kullanılır.
  • Yukarıda oluşturulan bağlantı listesi için for döngüsünü uyguladık.
  • driver.get(x) aşağıdaki işlevleri yerine getirir:
    •  tüm bağlantıları tek tek dolaşır
    • ayrıntıları almak için bunları tarayıcıda açar
  • v_id, bağlantıdaki şeritli video kimliğini saklamak için kullanılır.
  • v_title CSS_SELECTOR kullanılarak getirilen video başlığını saklar
  • Benzer şekilde, v_description CSS_SELECTOR kullanarak video açıklamasını saklar

Kalan kategoriler için de aynı adımları izleyeceğiz. Elimizde dört farklı veri çerçevesi olacak ve bunları tek bir veri çerçevesinde birleştireceğiz. Bu şekilde, nihai veri çerçevemiz yukarıda belirtilen tüm kategorilerdeki videoların istenen ayrıntılarını içerecektir.

frames = [df_travel, df_science, df_food, df_manufacturing]
df_copy = pd.concat(frames, axis=0, join='outer', join_axes=None, ignore_index=True, keys=None, levels=None, names=None, verify_integrity=False, copy=True)

Youtube Videolarını Kazımak için Proxy Kullanma

Youtube proxy'lerini aşağıdaki görevler için kullanabilirsiniz:

  • Kazıma - Bir proxy kullanarak video başlıklarını, yorumları ve her türlü bilgiyi düzgün bir şekilde toplayabilirsiniz. Creative Commons etki alanı içinde olan Youtube videolarını kazımak için de bir proxy kullanabilirsiniz. Böylece Youtube'u resmi oynatıcı olarak kullanmadan web sitenize video ekleyebilirsiniz.
  • Youtube Engelini Kaldırma - Birçok şirket siyasi veya başka nedenlerle içeriklerini halktan gizlemeye çalışır. Proxy'lerin yardımıyla, erişiminizin kısıtlandığı bir konumdan Youtube içeriğini yükleyebilir ve izleyebilirsiniz. Proxy'ler, okulunuzun veya iş yerinizin engellediği Youtube videolarına erişmenize yardımcı olur.

Yerleşim yeri proxy'leri, veri merkezi proxy'lerine kıyasla Youtube için en iyi proxy'lerdir. Bunun nedeni, veri merkezi proxy'lerinin kolayca algılanması ve bunları kullanırken çok sayıda Captcha ile karşılaşmanız gerektiğidir. Bu nedenle, IP engelleme ve Captcha'lardan kaçınmak için, konut proxy'leri Youtube otomasyonu için en uygun olanıdır.

Youtube'u Kazımak İçin Neden Proxy Kullanmalı?

Youtube'un milyarlarca değerli veriyle dolu olduğunu biliyorsunuz. Bu verileri analiz edebilir ve aşağıdakiler gibi birçok şey yapmak için kullanabilirsiniz:

  • İş kararları almak
  • Pazarlama kararları
  • Sosyal araştırma ve çalışmalar

Youtube'u kazırken proxy'lere ihtiyacınız var. Bunun nedeni Youtube'un tek bir IP adresinden birden fazla ürün satın almaya çalıştığınızda bunu tespit eden gelişmiş siber güvenlik teknikleri kullanmasıdır. Tespiti atlatmak için internet trafiğinizi birkaç proxy sunucusu üzerinden yeniden yönlendirmeniz gerekir. Bu şekilde, ağ trafiği farklı bilgisayarlardan geliyormuş gibi görünecektir.

Proxy'ler ayrıca bir videonun izlenme sayısını artırmak, Youtube sıralama algoritmasını manipüle etmek ve reklamlardan gelir elde etmek için Youtube botlarını kullanan pazarlamacılar için bir kalkan görevi görür.

YouTube Videolarını Kazımak için En İyi Proxy Hangisi?

ProxyScrape çevrimiçi en popüler ve güvenilir proxy sağlayıcılarından biridir. Üç proxy hizmeti arasında özel veri merkezi proxy sunucuları, konut proxy sunucuları ve premium proxy sunucuları bulunur. Peki, YouTube videolarını kazımak için en iyi proxy nedir? Bu soruyu yanıtlamadan önce, her bir proxy sunucusunun özelliklerini görmek en iyisidir.
Özel bir veri merkezi proxy'si analiz amacıyla çeşitli sunuculardan büyük miktarda veri (boyut açısından) akışı gibi yüksek hızlı çevrimiçi görevler için en uygunudur. Bu, kuruluşların kısa sürede büyük miktarda veri iletmek için özel proxy'leri seçmelerinin ana nedenlerinden biridir.

Özel bir veri merkezi proxy'si, sınırsız bant genişliği ve eşzamanlı bağlantılar, kolay iletişim için özel HTTP proxy'leri ve daha fazla güvenlik için IP kimlik doğrulaması gibi çeşitli özelliklere sahiptir. 99,9 çalışma süresi ile, özel veri merkezinin herhangi bir oturum sırasında her zaman çalışacağından emin olabilirsiniz. Son olarak, ProxyScrape mükemmel müşteri hizmetleri sunar ve sorununuzu 24-48 iş saati içinde çözmenize yardımcı olur. 

Sırada bir konut proxy'si. Konut, her genel tüketici için gidilecek bir proxy'dir. Bunun ana nedeni, bir konut proxy'sinin IP adresinin ISP tarafından sağlanan IP adresine benzemesidir. Bu, hedef sunucudan verilerine erişmek için izin almanın normalden daha kolay olacağı anlamına gelir. 

ProxyScrape'un konut proxy'sinin diğer bir özelliği de dönen bir özelliktir. Dönen proxy, hesabınızın kalıcı olarak yasaklanmasını önlemenize yardımcı olur çünkü konut proxy'niz IP adresinizi dinamik olarak değiştirerek hedef sunucunun proxy kullanıp kullanmadığınızı kontrol etmesini zorlaştırır. 

Bunun dışında, bir konut proxy'sinin diğer özellikleri şunlardır: eşzamanlı bağlantıyla birlikte sınırsız bant genişliği, özel HTTP / s proxy'leri, proxy havuzundaki 7 milyondan fazla proxy nedeniyle herhangi bir zaman oturumunda proxy'ler, daha fazla güvenlik için kullanıcı adı ve şifre kimlik doğrulaması ve son olarak, ülke sunucusunu değiştirme yeteneği. Ülke kodunu kullanıcı adı kimlik doğrulamasına ekleyerek istediğiniz sunucuyu seçebilirsiniz. 

Sonuncusu ise premium proxy. Premium proxy'ler özel veri merkezi proxy'leri ile aynıdır. İşlevsellik aynı kalır. Temel fark erişilebilirliktir. Premium proxy'lerde, proxy listesi (proxy'leri içeren liste) ProxyScrapeağındaki her kullanıcı için kullanılabilir hale getirilir. Bu nedenle premium proxy'ler özel veri merkezi proxy'lerinden daha ucuzdur.
Peki, en iyisi nedir? YouTube videolarını kazımak için proxy?? Cevap "konut pro xy'si" olacaktır. Nedeni basittir. Yukarıda belirtildiği gibi, konut proxy'si dönen bir proxy'dir, yani IP adresiniz belirli bir süre boyunca dinamik olarak değiştirilir ve bu da IP bloğu almadan küçük bir zaman dilimi içinde çok sayıda istek göndererek sunucuyu kandırmaya yardımcı olabilir. 

Daha sonra, en iyi şey proxy sunucusunu ülkeye göre değiştirmek olacaktır. IP kimlik doğrulamasının veya kullanıcı adı ve parola kimlik doğrulamasının sonuna ülke ISO_CODE'unu eklemeniz yeterlidir. 

Önerilen Okumalar:

SSS:

1. Python Kullanarak YouTube Videoları Nasıl Kazınır?
Selenium (YouTube'daki verileri otomatik olarak kazır) ve pandas (kazınan verileri bir veri çerçevesi biçiminde depolar) adlı bir python kütüphanesi yardımıyla YouTube videolarını kazıyabilirsiniz. YouTube videolarını kazımak için web sürücüsünün en son sürümüne ihtiyacınız var.
2. YouTube videolarını kazımak yasal mı?
Kazıma yönteminiz veya yaklaşımınız web sitesi sahibine veya içerik sahibine herhangi bir şekilde veya biçimde zarar vermediği sürece YouTube'dan kamuya açık herhangi bir veriyi kazımak yasaldır.
3. YouTube API normal kullanıcılar tarafından kullanılabilir mi?
Evet, YouTube API'sini normal kullanıcılara ücretsiz olarak sunmaktadır. Erişimde herhangi bir zorluk yaşamadan YouTube sunucularıyla doğrudan etkileşim kurmak için kullanabilirsiniz.

Python Kullanarak YouTube Videolarını Kazıma Üzerine Son Düşünceler:

Kuruluşlar ve hesaplarını yöneten Youtube içerik oluşturucuları için Youtube, analiz için kazınabilecek birçok yararlı veri barındırır. Youtube kazıyıcıları görüntüleme, beğenme/beğenmeme, yorum ve daha fazlasıyla ilgili verileri çıkararak daha iyi iş kararları almayı kolaylaştırır. Selenium ve Python kullanarak Youtube videolarını kazıyabilir ve çok zaman kazanabilirsiniz. Proxy kullanımı önemlidir çünkü Youtube tek bir IP adresinden birden fazla istek tespit ederse hesabınız engellenebilir. Youtube için en iyi proxyler, süper hızlı oldukları ve kolayca tespit edilemedikleri için konut proxyleridir.

Umarım Python kullanarak Youtube videolarını nasıl kazıyacağınızı anlamışsınızdır.