Python ile İnternetten Veri Çekme

209275

Kilopat
Katılım
23 Nisan 2018
Mesajlar
28
Arkadaşlar veri çekmek için Requests ve BeautifulSoup modüllerini kullanıyorum ve Social Blade'den canlı olarak abone sayacını çekmek istiyorum, birçok deneme yaptım fakat başaramadım nasıl yapabilirim?
Teşekkürler. :kıkırda:
 
Öncelikle eğer amacınız bu kütüphaneleri öğrenmek değilse API kullanmanızı tavsiye ederim. howCodeORG/Python-Sub-Count
Kesinlikle bu kütüphaneleri kullanarak HTML parse ederek yapmak istiyorum diyorsanız da şu şekilde yapmalısınız:
Kullanıcı adı alanını dolduracak şekilde şu adrese istek atıp soup nesnesi oluşturun.
Kod:
https://socialblade.com/youtube/user/KULLANICIADI
Daha sonra şu kod ile abone sayısına ulaşabilirsiniz.:
Python:
aboneSayisi = -1
aboneSayisi = soup.select('#youtube-stats-header-subs')[0].text
    
if aboneSayisi == -1:
    print("Abone sayısı bulunamadı, site tasarımında değişilik yapılmış olabilir.")
Kodu deneyecek kadar zamanım yok. ".text" prop'undan emin değilim. jQuery ile innerText diyerek ulaşabiliyordum ilgili değere, kodu debug ederek doğru prop'u bulabilirsiniz. İyi çalışmalar.
Kodu deneyecek vakit buldum, şu şekilde kullanabilirsiniz:
Python:
import requests # learn more: https://python.org/pypi/requests
from bs4 import BeautifulSoup

url = "https://socialblade.com/youtube/user/b31416"

result = requests.get(url)

soup = BeautifulSoup(result.content)

for i in soup.select("#youtube-stats-header-subs"):
  print("Abone Sayısı: " + i.text)
  break
else:
  print("Abone sayısı bulunamadı, sitede tasarımsal değişilik yapılmış olabilir")
Kodu direkt olarak çalıştırmak için, Technopat Abone Sayısı adresini kullanabilirsiniz.
 
Son düzenleme:
Uyarı! Bu konu 8 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı