X.com gibi modern sosyal platformlar, CAPTCHA, hız sınırlamaları ve IP engelleme gibi sıkı veri kazıma karşıtı önlemler kullanmaktadır. Bu güvenlik önlemleri, sıfırdan özel bir veri kazıyıcı oluşturmayı hem zorlaştırır hem de sık sık kesintilere yol açmasına neden olur.
Bu nedenle bu kılavuz, proxy rotasyonunu ve etik veri toplamayı yöneterek Twitter verilerinin güvenilir ve uyumlu bir şekilde kazınmasını sağlayan Twitter veri kazıma API'sini kullanmaktadır.
Twitter profillerini tarayan bir araç geliştirin (herkese açık profiller, API gerektirmez).
Resmi API'ye ihtiyaç duymadan, biyografi, takipçi sayısı, paylaşım sıklığı ve doğrulama durumu gibi herkese açık profil verilerini çekmek için aynı 4 adımlı akışı yeniden kullanabilirsiniz.
İşlem hattınızı nasıl uyarlayabilirsiniz :
- Google ile profil URL'lerini keşfedin :
site:x.com inurl:/status/ (yazılar için) → şuna geç
profil sayfalarını toplamak için site:x.com -inurl:/status “profil_anahtar kelimesi” veya site:x.com “@kullanıcı adı” araması yapın. - Ücretli bir araç veya başsız komut dosyanızla veri toplayın ve 2 saniyelik Google gecikmeyi koruyun.
- Her 10 saniyede bir (15 dakikalık bir süreyle) sorgulama yapın ve NDJSON dosyasını indirin.
- CSV olarak dışa aktarın . Kullanıcı_gönderisi_yayınladı, ad, takipçiler, gönderi_sayısı, doğrulanmış_mı, profil_resim_bağlantısı, biyografi, kullanıcı_kimliği gibi alanları kullanın.
Ne elde edeceksiniz :
Etkileyici puanına göre içerik oluşturucuları sıralamak için temiz bir veri seti = normalleştirilmiş etkileşim × log10(takipçi sayısı). Bu, Twitter web kazıma iş akışları için "kimi izlemeli" sorusuna cevap verir ve Twitter kazıyıcı panolarınız için erişim listeleri oluşturmanıza olanak tanır.
Python kullanarak Twitter verilerini nasıl kazıyabilirsiniz?
Adım 1: Twitter web kazıma işlemi için ortamınızı kurun.
Twitter verilerini kazımaya başlamadan önce, Python ortamınızı hazırlamanız gerekecek.
Bu adımda, gerekli kütüphaneleri içe aktaracak, API kimlik bilgilerinizi ekleyecek (biz Bright Data Twitter veri çekme API'sini kullandık) , bir proxy yapılandıracak ve arama parametrelerinizi tanımlayacaksınız.
Twitter'dan veri çeken Python betiğinizin sorunsuz çalışabilmesi ve veri çekme aracına bağlanabilmesi için çalışma alanınızı hazırlıyorsunuz.
- İstekler, veri ayrıştırma ve sonuçları kaydetme işlemleri için kullanacağınız kütüphaneleri içe aktarın .
- Kimlik bilgilerinizi ekleyin; API belirtecinizi ve veri kümesi kimliğinizi kontrol panelinizde bulacaksınız.
- Twitter içeriğini web kazıma yöntemiyle işlerken trafiğinizi güvenli bir şekilde yönlendirmek ve IP engellemelerinden kaçınmak için bir proxy yapılandırın .
- Anahtar kelimenizi ve limitinizi belirleyin. Bu örnekte, "yapay zeka ajanı optimizasyonu"nu izliyor ve beş gönderi topluyorsunuz, ancak Twitter veri toplama kapsamınızı genişletmek için NUM_POSTS değerini artırabilirsiniz.
Adım 2: Kazımak için X adet gönderi URL'si bulun.
Bu adımda, anahtar kelimenizle eşleşen herkese açık X gönderi (tweet) bağlantılarını toplamak için Google aramasını kullanacaksınız. Bu basit yöntem, yalnızca X/Twitter URL'lerini sorgulayarak API erişimine ihtiyaç duymadan Twitter'dan veri çekmenizi sağlar.
Bu betik, yalnızca X/Twitter gönderilerini döndürmek için 'site:x.com OR site:twitter.com <anahtar kelime>' 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 sayıda benzersiz URL toplarken Google'in sunucularına saygı göstermek amacıyla istekler arasında 2 saniyelik bir gecikme eklenmiştir.
3. Adım: Twitter veri çekme işlemini başlatın
Toplanan URL'leri veri çekme programına gönderin.
Tüm X gönderi URL'lerini topladıktan sonra, veri çıkarma için bunları web kazıyıcıya göndermemiz gerekiyor. Bu bölüm, kimlik doğrulama belirtecimiz ve veri kümesi kimliğimizle Bright Data'un tetikleyici uç noktasına bir POST isteği gönderir. Bu, birçok Twitter web kazıma işlem hattının harici veri toplamayı yönetirken kullandığı yöntemle aynıdır.
URL'ler, her biri tek bir POST URL'si içeren JSON nesnelerinin bir listesi olarak biçimlendirilmiştir. API bu isteği başarıyla aldığında, bu belirli veri çekme işi için 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, komut dosyası 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ı öğrenmek isteyen herkes için ölçeklenebilir ve uyumlu bir yaklaşım olan Twitter veri kazıma işleminin temelini oluşturur.
Adım 4: Kodun tamamını girin ve kazınan X.com verilerini kaydedin.
Son bölüm, veri kazıyıcının işlemi tamamlamasını bekler ve ardından Twitter web kazıma iş akışınız için sonuçları alır. Kazıma işlemi zaman alabileceğinden, komut dosyanız 15 dakikalık bir zaman aşımıyla her 10 saniyede bir anlık görüntü durumunu kontrol eder. Durum "hazır" veya "tamamlandı" olduğunda, sağlanan URL üzerinden veri setini indirir.
Yanıt NDJSON formatında geldiği için her satır Python sözlüğüne ayrıştırılır. Tüm veriler toplandıktan sonra, komut dosyası her gönderinin URL'sini, açıklamasını ve etkileşim metriklerini (beğeniler, görüntülemeler, yeniden paylaşımlar, yanıtlar, hashtag'ler) yazdırır. Son olarak, her şey bir pandas DataFrame'ine düzenlenir ve raporlama veya modelleme için CSV'ye aktarılır.
`try/except` blokları, sayısal alanların güvenli bir şekilde dönüştürülmesini (beklenmeyen formatların ele alınmasını) sağlar; bu da bu yaklaşımı, resmi API olmadan Twitter verilerini nasıl kazıyacağınıza dair eğitimler ve Twitter veri kazıma işlem hatları için güvenilir kılar.
Kıyaslama: Performans ve güvenilirlik (ücretli araç vs açık kaynaklı)
Twitter'dan büyük ölçekte web kazıma işiyle ciddi olarak ilgileniyorsanız, işlem hacmini, başarı oranını ve bakım süresini ölçün.
Aynı konuları kullanarak üç farklı yapılandırma çalıştırdık:
- Ücretli bir araç ( yönetilen veri kazıma sağlayıcısı )
- SN-Scraper (açık kaynak kodlu)
- Özel olarak geliştirilmiş, başsız bir tarayıcı betiği. Her biri herkese açık gönderileri topladı, etkileşimi ayrıştırdı ve verileri bir CSV dosyasına kaydetti.
Gözlemlediklerimiz:
- Veri aktarım hızı (tweet/dakika): ücretli Twitter veri çekme araçları > başsız tarayıcı > SN-Scraper.
- Başarı oranı: Ücretli araç, düzen/kimlik doğrulama değişikliklerini en tutarlı şekilde ele aldı.
- Mühendislik süresi: Site değişikliklerinden sonra en çok yama gerektiren seçenekler açık kaynaklı olanlardı.
Özetle : Tek seferlik araştırmalar için açık kaynak harika bir seçenektir. Sürekli Twitter verisi kazıma işlemleri için, özellikle Twitter verilerini sürekli veya birçok konu genelinde kazımanız gerektiğinde, ücretli web kazıma araçları kesintileri ve gizli maliyetleri azaltabilir.
Twitter'dan veri çekmek için en iyi uygulamalar
Aşağıdaki noktalar, Python ile Twitter veri çekme işlemlerinizi istikrara kavuşturur ve tıkanmaları azaltır.
- Zamanlama: Google keşfinde 2 saniyelik bir gecikmeyi koruyun ve sonraki zaman aşımı sürelerinde zaman aşımı süresini kademeli olarak artırın (10→20→40s) .
- Kimlikleri döndürün: Büyük ölçekte Twitter verilerini kazımak için IP adreslerini/kullanıcı aracılarını döndürün (bu işlem genellikle ücretli bir araç tarafından otomatikleştirilir).
- Eşzamanlılık sınırını belirleyin: 3-5 işçiyle başlayın; hata oranı düşük kaldığı sürece sayıyı artırmayın.
- Önbellekleme ve yinelenen kayıtları kaldırma: Aynı gönderiyi tekrar getirmeyin; kimlikleri ve son görülme zaman damgasını saklayın.
- Çalışma programlarını dağıtın: Seferleri gün içine yayın.
Twitter verilerine ulaşmanın en iyi yolu
- Öngörülebilir başarı ve düşük bakım maliyeti mi arıyorsunuz?
- Ücretli bir araç seçin. Bu, Twitter verilerini sürekli olarak toplamak ve çoklu konu takibi yapmak için en dayanıklı olanıdır.
- Yapılandırılmış, kontrollü erişime mi ihtiyacınız var?
- Bütçe ve sınırlamalar uygunsa, Resmi API en temiz seçenektir.
- Sadece keşif mi yapıyorsunuz? Bütçeniz kısıtlı mı?
- Açık kaynaklı bir kütüphane ile başlayın, ara sıra sorunlarla karşılaşmayı bekleyin.
- Özgün gereksinimleriniz var mı (girişler, sıralama, dinamik işlemler)?
- Sağlam proxy hijyeni ve gözlemlenebilirliği ile kendin yap (DIY) başsız bir sistem oluşturun.
Bu karşılaştırmayı kullanarak bütçenize, zaman çizelgenize ve tweet kazıma için risk toleransınıza en uygun olanı seçin.
Twitter içerik toplayıcı (planlama + gösterge panelleri)
Python Twitter veri çekme programınız çalışmaya başladıktan sonra, onu belirli konular, hashtag'ler veya etkileyiciler etrafındaki herkese açık X.com gönderilerini sürekli olarak toplayan ve görselleştiren bir Twitter toplayıcısına kolayca dönüştürebilirsiniz. Bir toplayıcı, basitçe şu işlemleri yapan otomatik bir sistemdir:
- Birden fazla kaynaktan veya anahtar kelimeden gönderileri toplar .
- Verileri düzenli olarak (saatlik veya günlük) temizler ve depolar.
- Hızlı analiz için bilgileri bir gösterge panosunda görüntüler.
4 adımlı eğitiminiz zaten tüm temel işlevleri, yani keşif, veri kazıma ve dışa aktarma işlemlerini gerçekleştiriyor; bu da onu otomatik bir toplayıcı için uygun bir temel haline getiriyor.
Twitter içerik toplayıcınızı nasıl oluşturursunuz?
- Düzenli çalıştırmalar planlayın: Komut dosyanızı otomatik olarak çalıştırmak için (örneğin, her saat başı) bir cron işi veya iş akışı zamanlayıcısı kullanın. Her seferinde bir konu veya etiket listesi arasında geçiş yapın.
- Tekrarlanan kayıtları kaldırın ve yeni verileri ekleyin: Her çalıştırmadan sonra, URL veya kimlik kullanarak tekrarlanan kayıtları kontrol edin ve yalnızca yeni gönderileri CSV dosyanıza veya veritabanınıza ekleyin. Sonuçları güne göre düzenleyin (/data/x_posts/YYYY-MM-DD/), böylece daha sonra sorgulamak kolaylaşır.
- Gösterge panoları için dönüştürme: CSV dosyalarınızı Google Data Studio , Tableau veya Python not defterlerine yükleyerek görselleştirin:
- Saat/gün başına gönderi sayısı
- En iyi yazarlar veya hashtag'ler
- Etkileşim trendleri (beğeniler, görüntülemeler, yeniden paylaşımlar)
Twitter'da kişi ve gönderi bulma aracı olarak sorgu kalıplarını kullanın.
Keşif adımınız yalnızca gönderi bulmaktan daha fazlasını yapabilir. Google arama operatörlerini kullanarak X.com'da kişileri, etkileyicileri ve önemli hesapları bulmanıza yardımcı olabilir. Bu, veri çekme aracınızın hem kullanıcı profilleri hem de konuyla ilgili tweet'ler için bir Twitter bulucu olarak da işlev görmesini sağlar.
Twitter bulucu nedir?
Twitter bulucu, aşağıdakileri belirleyen bir arama iş akışıdır:
- İş unvanı, özgeçmiş veya sektör anahtar kelimelerine göre kişiler veya profiller
- Belirli konulara, hashtag'lere veya zaman dilimlerine dayalı tweetler veya gönderiler.
Anahtar kelimelerinizle eşleşen herkese açık sayfaları bulmak için Twitter API'sine ihtiyaç duymadan yine de Google'in site:x.com operatörüne güvenmeniz gerekecek.
Profil bulmak için sorgu kalıpları:
Bu kalıplar, yazar sayfalarını (tweet'leri değil) toplamanıza yardımcı olur. Kullanıcı_paylaşımı, ad, takipçi sayısı, doğrulanmış mı ve biyografi gibi alanları çıkarmak için bu URL'leri veri çekme aracınıza besleyin. Profilleri bulmak için şunları deneyin:
Bu, projenizi etkileyici kişileri keşfetme, işe alma veya pazarlama araştırması için ideal, kullanımı kolay bir Twitter profil çekme aracı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 geri çağırma oranını (daha alakalı tweet'ler göstererek) hem de hassasiyeti (alakasız sonuçların sayısını azaltarak) artırır. Bu sorgu hilelerini uygulayarak, veri çekme aracınız doğru bir Twitter bulucu haline gelir.
Twitter hata ayıklayıcısı ile eksik önizlemeleri giderme (meta veri ipuçları)
Twitter hata ayıklayıcısını arayanlar genellikle bağlantı önizlemelerini (Twitter Kartları/Open Graph) düzeltmek isterler. Bu, veri kazıma olmasa da, ona yakın ve faydalıdır.
- Hedef sayfaların og:title, og:description, og:image ve doğru twitter:card meta verilerini içerdiğinden emin olun.
- Görsellerin HTTPS uyumlu, erişilebilir ve boyut sınırları içinde olduğundan emin olun.
- Meta veri güncellemeleri yapıldıktan sonra tekrar paylaşın.
Twitter'dan web kazıma işlemi yasal mı?
ABD'de kamuya açık verilerin kazınması genellikle CFAA (Bilgisayar Dolandırıcılığı ve Kötüye Kullanım Yasası) kapsamında korunurken , X büyük bir sözleşmesel caydırıcı önlem getirdi.
2026 yılı itibarıyla, X'in Hizmet Şartları, izinsiz olarak otomatik yöntemlerle 24 saatlik bir süre içinde 1.000.000'dan fazla gönderiyi "talep eden, görüntüleyen veya erişen" herkesin 15.000 ABD doları tutarında tazminat ödemekle yükümlü olduğunu belirtmektedir. 1
Bu durum, araştırmacılar ve şirketler için büyük ölçekli veri kazıma işlemlerini finansal olarak riskli hale getiriyor.
2026 Twitter web kazıma teknik güncellemeleri ve trendleri
Yapay zeka tabanlı veri kazıma (MCP entegrasyonu)
2026'daki önemli bir trend, Python ve BeautifulSoup gibi geleneksel kodlama araçlarından Model Bağlam Protokolü'ne (MCP) geçiş oluyor. Kullanıcılar komut dosyaları yazmak ve güncellemek yerine, ihtiyaç duydukları verileri talep ediyor ve MCP aracı veri çıkarma, temizleme ve biçimlendirme işlemlerini üstleniyor.
Tam ekran moduna geç
Puppeteer veya Selenium gibi temel başsız tarayıcılar, X'in gelişmiş TLS parmak izi alma yöntemiyle hızla tespit ediliyor. Sonuç olarak, önde gelen şirketler, tam tarayıcı oturumları çalıştıran eklentilere sahip Gizli Tarayıcılar ve Playwright kullanıyor.
Bu araçlar, X'in makine öğrenimi tabanlı bot karşıtı sistemlerini atlatmak için fareyi rastgele hareket ettirmek ve zamanlamayı değiştirmek gibi insan eylemlerini taklit eder.
SSS'ler
Evet. Çıktınız medya alanları (örneğin, fotoğraflar, videolar, external_*) içeriyor. Bu URL'leri kaydedin ve kullanım senaryonuz gerektiriyorsa daha sonra indirin. Ölçeklenebilirlik için, depolama maliyetlerini düşük tutmak amacıyla yalnızca bağlantıları ve meta verileri (boyut ve tür) saklayın.
Dönen konut veya ISS proxy'lerini kullanın. Bunlar, temel veri merkezi havuzlarından daha iyi bir itibara sahiptir ve geçici engellemeleri azaltır. Ücretli bir araç kullanıyorsanız, genellikle yüksek kaliteli döndürme özelliği dahildir; bu da uzun süreli Twitter veri çekme işlemleri için kullanışlıdır.
Resmi API: birinci taraf, belgelenmiş, yapılandırılmış; daha şeffaf yönetim, ancak ücretli/kısıtlı ve bazen sınırlı.
Twitter veri çekme API'si / Twitter veri toplama API'si: Sayfalardan herkese açık verileri çıkarmak için tarayıcıları ve proxy'leri koordine eden bir hizmet; daha esnek ancak site düzenine ve bot karşıtı kontrollere bağlıdır.
Eğer odak noktanız medya ise, aynı iş akışı, büyük ölçekte resim/video bağlantılarını yakalayan bir Twitter medya kazıyıcısına dönüşür. İş akışınızı nasıl uyarlayabilirsiniz:
* 2. adımda anahtar kelime keşfini koruyun, ancak sorguları medya ağırlıklı gönderilere doğru yönlendirin: “konu” (fotoğraf VEYA video) site:x.com. Sonuçlarınızda fotoğrafları, videoları, external_image_urls ve external_video_urls'yi okuyun.
* İkili dosyaları değil, URL'leri saklayın . Medya indirme işlemi ikinci, hız sınırlamalı bir iş olabilir (paralel kuyruk, sağlama toplamı, yeniden denemeler).
Yorumlar 1
Düşüncelerinizi Paylaşın
E-posta adresiniz yayınlanmayacak. Tüm alanlar gereklidir.
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!