Python ve Selenium ile Twitter Takipçilerini Kazıma

Python ve Selenium ile Twitter Takipçilerini Kazıyın

Kazınmış Veri Örneği

{
  "userId": "1710236730010349568",
  "isBlueVerified": false,
  "following": false,
  "canDm": false,
  "canMediaTag": true,
  "createdAt": "Fri Oct 06 10:13:15 +0000 2023",
  "defaultProfile": true,
  "defaultProfileImage": true,
  "description": "",
  "fastFollowersCount": 0,
  "favouritesCount": 456,
  "followersCount": 64,
  "friendCount": 7320,
  "hasCustomTimelines": false,
  "isTranslator": false,
  "listedCount": 0,
  "location": "",
  "mediaCount": 0,
  "name": "Paislie Dimitrov",
  "normalFollowersCount": 64,
  "pinnedTweetIdsStr": [],
  "possiblySensitive": false,
  "profileImageUrlHttps": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png",
  "profileInterstitialType": "",
  "username": "PaisliDimit",
  "statusesCount": 0,
  "translatorType": "none",
  "verified": false,
  "wantRetweets": false,
  "withheldInCountries": []
}

Kodu Doğrudan Kurulum Yapmadan Çalıştırın
Rehberimiz, Twitter takipçileri verilerini zahmetsizce kazımak için tamamen hazır, kullanılabilir kod sağlamaktadır. Python ve Selenium ile veri toplama işlemlerinizi otomatikleştirin ve performans günlüklerini etkin bir şekilde yakalayın. Ekstra kurulum gerektirmeden Twitter içgörülerini açığa çıkarın!

Adım 1: Ortamınızı Kurun

İlk olarak, tarayıcı eylemlerini otomatikleştirecek olan Selenium'u kurun:

pip install -r requirements.txt

Adım 2: ChromeDriver'ı İndirin

İlgili ChromeDriver'ı buradan bulabilirsiniz ChromeDriver indir

Adım 3: Chrome Seçeneklerini Ayarlama

self.options = webdriver.ChromeOptions()
user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36'
self.options.add_argument(f'user-agent={user_agent}')
self.options.add_argument('--disable-gpu')
self.options.add_argument('--no-sandbox')
self.options.add_argument('--disable-dev-shm-usage')
self.options.add_argument(f"--remote-debugging-port={remote_debugging_port}")

js_script_name = modify_random_canvas_js()
self.browser = self.get_browser(script_files=[js_script_name], record_network_log=True, headless=True)

Adım 4: Hedef Sayfaya Erişim

self.browser.switch_to.new_window('tab')
url= 'https://x.com/1_usd_promotion/verified_followers'
self.browser.get(url=url)

time.sleep(2)

exist_entry_id = []

self.get_network(exist_entry_id, result_list)

print(f'tweet result length = {len(result_list)}')

Adım 5: Tarayıcı Performans Günlüğünü Alın

performance_log = self.browser.get_log("performance")
for packet in performance_log:

    msg = packet.get("message")
    message = json.loads(packet.get("message")).get("message")
    packet_method = message.get("method")

    if "Network" in packet_method and 'Following' in msg:

        request_id = message.get("params").get("requestId")

        resp = self.browser.execute_cdp_cmd('Network.getResponseBody', {'requestId': request_id})

Adım 6: Cevaptan Veri Çıkartma

body = resp.get("body")
body = json.loads(body)
instructions = body['data']['user']['result']['timeline']['timeline'].get('instructions', None)
if not instructions:
    continue
for instruction in instructions:
    entries = instruction.get('entries', None)

Adım 7: Önemli Hususlar

SSS: Sıkça Sorulan Sorular

  • S: Web Kazıma nedir?

    Web kazıma, web sitelerinden otomatik olarak bilgi toplamak için özel bir araç kullanmak gibidir. Manuel olarak yapmanıza gerek kalmadan bir sayfadan veri toplayan bir robot hayal edin. Bu durumda, Twitter verilerine Python ve Selenium kullanarak odaklanıyoruz.

  • S: Twitter verilerini kazımaya nasıl başlarım?

    Twitter verilerini kazımaya başlamak için önce bilgisayarınızı kurmanız gerekiyor. Bu, web tarayıcılarını kontrol etmenize yardımcı olan Selenium adlı yazılımı yüklemeyi içerir. Ardından, Selenium'un çalışabilmesi için Google Chrome için bir yardımcı araç olan ChromeDriver'ı indirirsiniz.

  • S: ChromeDriver nedir ve neden buna ihtiyacım var?

    ChromeDriver, Selenium ile Google Chrome arasında bir çevirmen gibidir. Selenium'un Chrome tarayıcısıyla nasıl etkileşimde bulunacağını anlamasına yardımcı olur. Selenium'un Twitter'da butonlara tıklama veya bilgi girme gibi eylemleri otomatikleştirebilmesi için buna ihtiyacınız var.

  • S: Kazıma sırasında performans günlüğü nedir?

    Performans günlüğü, web kazıma sırasında olan her şeyi kaydeden bir günlüğe benzer. Kazıyıcınız (Selenium) ile Twitter sayfası arasındaki tüm veri alışverişlerini takip eder ve programınızın yaptığı istekleri anlamanıza yardımcı olur.

  • S: Twitter'ı kazımadan önce nelere dikkat etmeliyim?

    Twitter'ı kazımadan önce, Twitter hesabınıza giriş yapmanız ve Twitter'ın verilerine erişiminizin olduğunu kanıtlayan bir auth_token almanız gerekiyor. Ayrıca, Twitter'ın kurallarına saygı gösterdiğinizden emin olun, böylece engellenmezsiniz.

  • S: Kazıma yaparken engellenmemek için ne yapmalıyım?

    Engellenmemek için istekler arasında gecikmeler eklemeli, proxy'leri döndürmeli ve Twitter'ın sunucularını kısa bir süre içinde fazla fazla rahatsız etmemelisiniz.