Sosyal medya platformları, örneğin X.com, CAPTCHA, hız sınırlamaları ve IP engelleme dahil olmak üzere katı kazıma karşıtı savunmalar uygular. Bu güvenlik önlemleri, sıfırdan özel bir kazıyıcı oluşturmayı hem zorlaştırır hem de sık kesintilere yol açar.
Bu rehber, proxy döndürmesini ve etik veri toplama yönetimi yoluyla Twitter verilerinin güvenilir ve uyumlu bir şekilde kazınmasını sağlayan Twitter kazıyıcısı API'sini kullanır.
Python kullanarak Twitter verilerini nasıl kazıyacağınız
Adım 1: Twitter web kazıma için ortamınızı kurun
Twitter verilerini kazımaya başlamadan önce Python ortamınızı hazırlamanız gerekir.
Bu adımda, gerekli kütüphaneleri içe aktaracak, API kimlik bilgilerinizi ekleyeceksiniz (biz Bright Data Twitter kazıyıcısı API'sini kullandık)), bir proxy yapılandıracağız ve arama parametrelerinizi tanımlayacağız.
Twitter kazıma Python betiğinizin sorunsuz çalışmasını ve kazıyıcıya bağlanabilmesini sağlamak için çalışma alanınızı hazırlıyorsunuz.
- Kullanacağınız kütüphaneleri içe aktarın istekler, veri ayrıştırma ve sonuçları kaydetme için.
- Kimlik bilgilerinizi ekleyin, API token'ını ve veri kümesi kimliğini kontrol panelinizde bulacaksınız.
- Web kazıma sırasında Twitter içeriğini güvenli bir şekilde yönlendirmek ve IP engellerinden kaçınmak için bir proxy yapılandırın.
- Anahtar kelimenizi ve sınırı ayarlayın. Bu örnekte, "AI agent optimizing" ifadesini takip ediyor ve beş gönderi topluyorsunuz, ancak Twitter veri kazıma kapsamınızı genişletmek için NUM_POSTS değerini artırabilirsiniz.
Adım 2: Kazımak için X gönderi URL'lerini bulun
Bu adımda, anahtar kelimenizle eşleşen halka açık X gönderisi (tweet) bağlantılarını toplamak için Google aramasını kullanacaksınız. Bu basit hile, X/Twitter URL'lerini sorgulayarak API erişimi olmadan Twitter kazımanıza olanak tanır.
Bu betik, X/Twitter gönderilerini döndürmek için 'site:x.com OR site:twitter.com <keyword>' gibi bir Google sorgusu oluşturur. Tweet URL'lerini çıkarır, temizler, eski twitter.com bağlantılarını x.com'a dönüştürür ve yinelenenleri kaldırır.
Twitter veri kazıma iş akışınız için yeterli benzersiz URL toplayarken Google'ın sunucularına saygı duymak için istekler arasında 2 saniyelik bir gecikme dahil edilmiştir.
Adım 3: Twitter kazımayı tetikleyin
Toplanan URL'leri kazıyıcıya gönderin.
Tüm X gönderi URL'lerini topladıktan sonra, veri çıkarma için bunları web kazıyıcısına göndermemiz gerekir. Bu bölüm, kimlik doğrulama token'ımız ve veri kümesi kimliğimizle birlikte Bright Data'nın tetikleme uç noktasına bir POST isteği yapar. Birçok Twitter web kazıma pipeline'ının dış veri toplama yönetirken kullandığı aynı yöntem.
URL'ler, her nesnenin tek bir gönderi URL'si içeren bir JSON nesneleri listesi olarak biçimlendirilir. API bu isteği başarıyla aldığında, bu belirli kazıma işi için bir referans görevi gören bir anlık görüntü kimliği döndürür.
API çağrısı herhangi bir nedenle başarısız olursa, betik bir hata mesajıyla sonlanır. Bu adım, resmi API'ye güvenmeden Twitter verilerini güvenli ve verimli bir şekilde nasıl kazıyacağınızı öğrenen herkes için ölçeklenebilir ve uyumlu bir yaklaşım olan Twitter veri kazımasının temelini oluşturur.
Adım 4: Tam kod ve kazınmış X.com verilerini kaydedin
Son bölüm, kazıyıcının bitmesini bekler ve ardından Twitter web kazıma iş akışınız için sonuçları getirir. Kazıma zaman alabileceğinden, betiğiniz anlık görüntü durumunu her 10 saniyede bir 15 dakikalık bir zaman aşımı ile sorgular. Durum "hazır" veya "tamamlandı" olduğunda, sağlanan URL üzerinden veri kümesini indirir.
Yanıt NDJSON olarak gelir, bu nedenle her satır bir Python sözlüğüne ayrıştırılır. Tüm veri toplandıktan sonra, betik her gönderinin URL'sini, açıklamasını ve etkileşim metriklerini (beğeniler, görüntülemeler, yeniden paylaşımlar, yanıtlar, etiketler) yazdırır. Son olarak, her şey raporlama veya modelleme için pandas DataFrame içinde düzenlenir ve CSV'ye aktarılır.
try/except blokları, sayısal alanların güvenli bir şekilde dönüştürülmesini (beklenmeyen biçimleri ele alarak) sağlar; bu da resmi API olmadan Twitter verilerini kazıma pipeline'ları ve Twitter verilerini nasıl kazıyacağınız üzerine eğitimler için bu yaklaşımı güvenilir kılar.
Kıyaslama: Performans ve güvenilirlik (ücretli araç vs açık kaynak)
Aynı konularla üç yapılandırma çalıştırdık:
- Ücretli bir araç (yönetilen kazıma sağlayıcısı)
- SN-Scraper (açık kaynak)
- Özel bir headless tarayıcı betiği. Her biri halka açık gönderileri topladı, etkileşimi ayrıştırdı ve verileri bir CSV'ye kaydetti.
Gözlemlediklerimiz:
- Aktarım hızı (tweet/dakika): ücretli Twitter kazıyıcıları > headless tarayıcı > SN-Scraper.
- Başarı oranı: Ücretli araç, düzen/auth değişikliklerini en tutarlı şekilde yönetti.
- Mühendislik süresi: açık kaynak seçenekleri, site değişikliklerinden sonra en çok yamaya ihtiyaç duydu.
Sürekli Twitter veri kazıma için, ücretli web kazıma araçları, özellikle Twitter verilerini sürekli olarak veya birçok konu üzerinde kazımanız gerektiğinde kırılmaları ve gizli maliyetleri azaltabilir.
Twitter kazıma için en iyi uygulamalar
Aşağıdaki noktalar, Twitter kazıma Python çalışmanızı stabilize eder ve engelleri azaltır.
- Hız: Google keşfinde bir 2 saniyelik gecikme koruyun ve sonraki zaman aşımlarında zaman aşımı süresini kademeli olarak artırın (10→20→40s).
- Kimlikleri döndürün: Twitter verilerini ölçeklenebilir şekilde kazımak için döndürmeli IP'ler/kullanıcı aracıları kullanın (bir ücretli araç bunu genellikle otomatikleştirir).
- Eşzamanlılığı sınırlayın: 3-5 işçi başlatın; hata oranı düşük kalırsa artırın.
- Önbellek ve yinelenenleri kaldırın: Aynı gönderiyi tekrar getirmeyin; kimlikleri ve son görülen zaman damgasını saklayın.
- Zamanlamaları dağıtın: Çalışmaları gün boyunca dağıtın.
Twitter toplayıcısı (planlama + panolar)
Python Twitter kazıyıcınız çalışmaya başladığında, belirli konular, etiketler veya etkileyiciler etrafındaki halka açık X.com gönderilerini sürekli olarak toplayan ve görselleştiren bir Twitter toplayıcısı haline getirebilirsiniz. Bir toplayıcı, şu özelliklere sahip otomatik bir sistemdir:
- Gönderileri toplayın birden fazla kaynaktan veya anahtar kelimelerden
- Verileri düzenli olarak temizleyin ve saklayın (saatlik veya günlük)
- İçgörüleri gösterin hızlı analiz için bir panoda
4 adımlı eğitiminiz, keşif, kazıma ve dışa aktarma dahil olmak üzere tüm temel işlevleri yerine getirir; bu da onu otomatik bir toplayıcı için uygun bir temel haline getirir.
Twitter toplayıcınızı nasıl oluşturursunuz
- Düzenli çalışmaları planlayın: Betikinizi otomatik olarak çalıştırmak için bir cron işi veya iş akışı planlayıcı kullanın (örneğin, her saat başı). Her seferinde bir konu veya etiket listesinde döndürün.
- Yinelenenleri kaldırın ve yeni verileri ekleyin: Her çalışmadan sonra, URL veya kimlik kullanarak yinelenenleri kontrol edin ve taze gönderileri CSV'nize veya veritabanınıza ekleyin. Sonuçları daha sonra sorgulamayı kolaylaştırmak için güne göre düzenleyin (/data/x_posts/YYYY-MM-DD/).
- Panolar için dönüştürün: CSV'lerinizi görselleştirmek için Google Data Studio, Tableau veya Python not defterlerine yükleyin:
- Saat/gün başına gönderi hacmi
- En çok kullanılan yazarlar veya etiketler
- Etkileşim trendleri (beğeniler, görüntülemeler, yeniden paylaşımlar)
Twitter bulucu (insanlar ve gönderiler) olarak sorgu kalıplarını kullanın
Keşif adımınız sadece gönderileri bulmaktan fazlasını yapabilir. Google arama operatörlerini kullanarak X.com'da insanlar, etkileyiciler ve önemli hesapları bulmanıza yardımcı olabilir. Bu, kazıyıcınızı hem kullanıcı profilleri hem de konuyla ilgili tweetler için bir Twitter bulucu olarak ikiye katlar.
Twitter bulucu nedir?
Bir Twitter bulucu, şunları belirleyen bir arama iş akışıdır:
- İnsanlar veya profiller meslek unvanı, biyografi veya sektör anahtar kelimelerine göre
- Tweetler veya gönderiler belirli konular, etiketler veya zaman aralıklarına göre
Hala, resmi Twitter API'sine ihtiyaç duymadan anahtar kelimelerinizle eşleşen halka açık sayfaları ortaya çıkarmak için Google'ın site:x.com operatörüne güveneceksiniz.
Profilleri bulmak için sorgu kalıpları:
Bu kalıplar yazar sayfalarını (tweetleri değil) toplamanıza yardımcı olur. Kullanıcı_posted, ad, takipçiler, doğrulandı ve biyografi gibi alanları çıkarmak için bu URL'leri kazıyıcınıza besleyin. Profilleri bulmak için şunu deneyin:
Bu transformasyon, projenizi etkileyici keşfi, işe alım veya pazarlama araştırması için ideal olan basit bir Twitter profil kazıyıcısına dönüştürür.
Gönderileri bulmak için sorgu kalıpları:
Tweetlere veya gönderilere odaklanmak için şunu kullanın:
Bu teknikler, hem hatırlamayı (daha alakalı tweetler göstererek) hem de doğruluğu (ilgisiz sonuçların sayısını azaltarak) artırır. Bu sorgu numaralarını uygulayarak, kazıyıcınız doğru bir Twitter bulucuya dönüşür.
Twitter debugger ile eksik önizlemeleri giderin (metadata ipuçları)
Twitter debugger kullanıcıları genellikle bağlantı önizlemelerini (Twitter Kartları/Açık Grafik) düzeltmek ister. Kazıma olmasa da, buna yakındır ve yardımcıdır.
- Hedef sayfaların og:title, og:description, og:image ve doğru twitter:card meta'sını içerdiğinden emin olun.
- Görsellerin HTTPS olduğundan, erişilebilir olduğundan ve boyut sınırları içinde olduğundan emin olun.
- Metadata güncellemelerinden sonra tekrar paylaşın.
Twitter/X kazıma yasal mı?
X'in Hizmet Şartları, yazılı onay olmadan hizmeti taramayı veya kazımayı yasaklar. X'te halka açık olarak görünen içerik, otomatik toplama için otomatik olarak mevcut değildir. İşletmeler, resmi kanallar dışında veri toplamadan önce X'in Şartlarını, gizlilik yasalarını ve fikri mülkiyet düzenlemelerini gözden geçirmelidir.
Yasal risk, toplanan veri türüne ve hacmine bağlıdır. Ayrıca, giriş veya erişim kontrollerinin atlanıp atlanmadığına, kişisel verilerin dahil olup olmadığına, verilerin nasıl saklandığına veya paylaşıldığına ve toplayıcının izin alıp almadığına da bağlıdır.
Resmi X API vs web kazıma
X API v2, kullanım tabanlı bir fiyatlandırma modeli kullanır ve maliyetler API çağrıları yoluyla erişilen kaynaklar tarafından belirlenir. X dokümantasyonuna göre, her okuma işlemi, gönderi, kullanıcı, takipçi, liste, medya ve trendin belirli bir fiyatı vardır. Örneğin, bir gönderiyi okumak 0,005 $, bir kullanıcıyı veya takipçi/takip edileni okumak kaynak başına 0,010 $ tutarındadır.1
ancak, büyük ölçekli kullanım için maliyetli olabilir, bazı uç noktalarda sınırlamalar vardır ve tüm tarihsel veya keşif ihtiyaçlarını karşılamayabilir.
Twitter web kazıma için son trendler
AI-native kazıma (MCP entegrasyonu)
2026'daki önemli bir eğilim, Python ve BeautifulSoup gibi geleneksel kodlama araçlarından Model Context Protocol (MCP)'e geçiştir. Betikleri yazmak ve güncellemek yerine, kullanıcılar ihtiyaç duydukları verileri ister ve MCP aracı çıkarma, temizleme ve biçimlendirmeyi üstlenir.
Tam tarayıcıya geçiş
Puppeteer veya Selenium gibi temel headless tarayıcılar, X'in gelişmiş TLS parmak izi tarafından çabucak tespit edilir. Sonuç olarak, üst şirketler, tam tarayıcı oturumları çalıştıran eklentilerle Stealth Tarayıcılar ve Playwright kullanır.
Bu araçlar, X'in makine öğrenimi tabanlı anti-bot sistemlerinden kurtulmak için fareyi rastgele hareket ettirme ve zamanlamayı değiştirme gibi insan eylemlerini kopyalar.
SSS'ler
Evet. Çıktınız medya alanlarını içerir (örneğin, fotoğraflar, videolar, external_*). Kullanım durumunuz bunu gerektiriyorsa bu URL'leri kaydedin ve daha sonra indirin. Ölçek için, depolama maliyetlerini düşük tutmak için bağlantıları metadata (boyut ve tür) ile birlikte saklayın.
Döndürmeli konut veya ISP proxy'lerini kullanın. Temel veri merkezi havuzlarından daha iyi bir itibar sağlarlar ve yumuşak engelleri azaltırlar. Ücretli bir araç kullanıyorsanız, yüksek kaliteli döndürme genellikle dahildir; bu, uzun süren Twitter kazıma işleri için elverişlidir.
Odak noktanız medya ise, aynı akış ölçeklenebilir şekilde görsel/video bağlantılarını yakalayan bir Twitter medya kazıyıcısına dönüşür. Pipeline'ınızı nasıl uyarlayacağınız:
* Adım 2 anahtar kelime keşfini koruyun, ancak sorguları medya ağırlıklı gönderilere doğru önyargılı hale getirin: "konu" (photo OR video) site:x.com. Sonuçlarınızda, fotoğrafları, videoları, external_image_urls ve external_video_urls okuyun.
* URL'leri saklayın, ikili dosyaları değil. Medyayı indirmek, ikinci bir, hız sınırlı bir iş olabilir (paralel kuyruk, checksum, yeniden denemeler).
Bu araştırmayı kaynak gösterin
Yayınlayacağınız yere uygun formatı seçin. Bağlantılı sürümü CMS'inize yapıştırmak, geri bağlantıyı korur.
@misc{dilmegani2026,
author = {Dilmegani, Cem},
title = {{Python ile Twitter'dan (X.com) Veri Kazıma}},
year = {2026},
month = may,
howpublished = {\url{https://aimultiple.com/twitter-web-scraping}},
note = {AIMultiple. Erişim tarihi: 13 Mayıs 2026}
}
Yorumlar 1
Düşüncelerinizi Paylaşın
E-posta adresiniz yayınlanmayacak. Tüm alanlar gereklidir. Yorumlar orijinal dilinde bırakılır.
You cannot access tweets for free using the API. Twitter (X) charges developers at minimum $100/month to use the API to access tweets. The free developer option is limited to posting only, which is not what you'd want to scrape Twitter for anyway.
Indeed, we updated that section, thank you for the heads up!