---
title: "Python ile Twitter (X) Scraping: Tweetler, Takipçiler ve CSV'ye Aktarma"
description: "Python eğitimi: TwexAPI REST API ile X (Twitter) üzerindeki herkese açık tweetleri ve takipçileri toplayın, sayfaları gezin ve CSV olarak kaydedin. Tarayıcı, proxy veya X hesabı gerekmez."
---

Bu rehber, Python'dan sade HTTP istekleriyle X (Twitter) üzerindeki herkese açık verileri toplar. Gelişmiş arama operatörleriyle tweet arar, sonuç sayfalarını gezer, bir takipçi listesini dışa aktarır ve hepsini CSV olarak kaydedersiniz. Headless tarayıcıya, proxy'ye veya X hesabına gerek yoktur; yalnızca bir TwexAPI API anahtarı yeterlidir.

## Başlamadan önce

1. [twexapi.io](https://twexapi.io/get-started) üzerinde hesap oluşturun; yaklaşık 4.000 okumaya yetecek 20.000 ücretsiz Credits alırsınız.
2. API anahtarınızı panelden kopyalayıp ortam değişkeni olarak ayarlayın:

```bash
export TWEXAPI_KEY="twexapi_xxx"
pip install requests
```

## Tweet arama

[Gelişmiş arama uç noktası](/tr/api-reference/search-endpoints/get-data-page-twitter-advanced-search-page-post) bir `searchTerms` listesi, `Latest` veya `Top` değerli bir `sortBy` ve sayfalama için bir `next_cursor` alır. Her sayfa en fazla 20 tweet döndürür.

```python
import os
import time

import requests

API = "https://api.twexapi.io"
HEADERS = {"Authorization": f"Bearer {os.environ['TWEXAPI_KEY']}"}


def paginate(path, body, max_items):
    """POST a cursor endpoint until max_items rows or the last page."""
    items, cursor = [], ""
    while len(items) < max_items:
        res = requests.post(f"{API}{path}", headers=HEADERS, json={**body, "next_cursor": cursor}, timeout=30)
        res.raise_for_status()
        page = res.json()
        items += [row for row in page.get("data", []) if row]
        cursor = page.get("next_cursor")
        if not page.get("has_next_page") or not cursor:
            break
        time.sleep(5)  # free Starter plan: 1 request per 5 seconds; paid plans allow 5+ per second
    return items[:max_items]


tweets = paginate(
    "/twitter/advanced_search/page",
    {"searchTerms": ["openai", "lang:en", "min_faves:100", "since:2026-10-01"], "sortBy": "Latest"},
    max_items=200,
)
print(len(tweets), "tweets")
```

`searchTerms`, X arama kutusuyla aynı operatörleri kabul eder:

| Operatör | Örnek | Anlamı |
| :--- | :--- | :--- |
| `from:` | `from:nasa` | Bir hesabın gönderileri |
| `since:` / `until:` | `since:2026-10-01` | Tarih aralığı |
| `lang:` | `lang:tr` | Dil |
| `min_faves:` | `min_faves:100` | En az beğeni sayısı |
| `-filter:replies` | | Yanıtları hariç tut |

## Tweetleri CSV'ye kaydetme

```python
import csv

with open("tweets.csv", "w", newline="", encoding="utf-8-sig") as f:
    writer = csv.writer(f)
    writer.writerow(["tweet_id", "created_at", "user", "likes", "retweets", "text"])
    for t in tweets:
        writer.writerow([
            t.get("tweet_id"),
            t.get("created_at"),
            (t.get("user") or {}).get("screen_name"),
            t.get("favorite_count"),
            t.get("retweet_count"),
            (t.get("text") or "").replace("\n", " "),
        ])
```

`utf-8-sig` kullanmak, dosya Excel'de açıldığında Türkçe karakterlerin ve emojilerin düzgün görünmesini sağlar.

## Takipçileri toplama

[Takipçi uç noktası](/tr/api-reference/followers-following-endpoints/get-followers-cursor-apiendpoint-twitter-followers-page-post) aynı imleç tabanlı sayfalamayı kullanır, bu yüzden `paginate` fonksiyonu olduğu gibi çalışır.

```python
followers = paginate("/twitter/followers/page", {"screen_name": "nasa"}, max_items=1000)

with open("followers.csv", "w", newline="", encoding="utf-8-sig") as f:
    writer = csv.writer(f)
    writer.writerow(["username", "name", "followers", "location", "bio"])
    for u in followers:
        writer.writerow([u.get("username"), u.get("name"), u.get("followersCount"), u.get("location"), u.get("description")])
```

## Maliyet

Tipik bir okuma 5 Credits tutar; 1.000 tweet veya takipçi başına yaklaşık $0,05. Örnekteki 200 tweet ve 1.000 takipçi toplamda yaklaşık $0,06 eder. Kesin ücretler için [fiyatlandırma](/tr/guides/pricing) sayfasına bakın.

## Neden Selenium, Playwright veya twscrape değil?

X, 2024 başında misafir erişimini kapattığından beri tarayıcı tabanlı ve açık kaynak scraper'lar oturum açılmış X hesaplarına ve dönen proxy'lere ihtiyaç duyar ve X sitesini her değiştirdiğinde bozulur. Bir API bu bakımı sizin üzerinizden alır. Daha ayrıntılı karşılaştırma için [Kendi Barındırdığınız Twitter Scraper'ı vs TwexAPI](/tr/comparison/scraper-vs-api) sayfasına bakın.

## Sonraki adımlar

- [Twitter Scraper API'ye genel bakış](https://twexapi.io/twitter-scraper): toplayabileceğiniz veriler ve Apify ile resmi API karşılaştırması.
- [Hata yönetimi](/tr/guides/error-handling): `429` ve `5xx` yanıtlarında yeniden deneme ve bekleme.
- Yalnızca herkese açık verileri toplayın; gizlilik yasalarına ve X'in koşullarına uyun.
