Twitter Takip Verilerini Nasıl Kazımanız Gerektiğini Öğrenin | Tam Kod Sağlandı

Python & Selenium ile Twitter Takip Verilerini Kolayca Kazıyın

Kazınmış Verinin Örneği

{
  "userId": "95092020",
  "isBlueVerified": true,
  "following": false,
  "canDm": false,
  "canMediaTag": false,
  "createdAt": "Sun Dec 06 23:33:02 +0000 2009",
  "defaultProfile": false,
  "defaultProfileImage": false,
  "description": "Best-Selling Author | Clinical Psychologist | #1 Education Podcast | Enroll to @petersonacademy now:",
  "fastFollowersCount": 0,
  "favouritesCount": 161,
  "followersCount": 5613000,
  "friendCount": 1686,
  "hasCustomTimelines": true,
  "isTranslator": false,
  "listedCount": 14572,
  "location": "",
  "mediaCount": 7318,
  "name": "Dr Jordan B Peterson",
  "normalFollowersCount": 5613000,
  "pinnedTweetIdsStr": [
    "1849105729438790067"
  ],
  "possiblySensitive": false,
  "profileImageUrlHttps": "https://pbs.twimg.com/profile_images/1407056014776614923/TKBC60e1_normal.jpg",
  "profileInterstitialType": "",
  "username": "jordanbpeterson",
  "statusesCount": 51343,
  "translatorType": "none",
  "verified": false,
  "wantRetweets": false,
  "withheldInCountries": []
}

Kodları Kurulum Yapmadan Doğrudan Çalıştırın
Rehberimiz, Twitter takip verilerini sorunsuz bir şekilde kazımak için tam, kullanıma hazır kod sağlar. Python ve Selenium ile veri toplama işlemini otomatikleştirir ve performans günlüklerini verimli bir şekilde yakalarsınız. Ek kurulum gerektirmeden Twitter içgörülerine erişin!

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

Öncelikle, tarayıcı otomasyonu için Selenium'u kurun:

pip install -r requirements.txt

Adım 2: ChromeDriver İndirin

Selenium'un Chrome tarayıcısıyla etkileşim kurması için ChromeDriver'ı indirin. Buradan edinebilirsiniz: ChromeDriver İndirme

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şin

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

time.sleep(2)

exist_entry_id = []

self.get_network(exist_entry_id, result_list)

print(f'tweet sonucu uzunluğu = {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: Yanıt Verisinden Verileri Çıkartın

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: Örnek Yanıt Verisi

{
  "userId": "95092020",
  "isBlueVerified": true,
  "following": false,
  "canDm": false,
  "canMediaTag": false,
  "createdAt": "Sun Dec 06 23:33:02 +0000 2009",
  "defaultProfile": false,
  "defaultProfileImage": false,
  "description": "Best-Selling Author | Clinical Psychologist | #1 Education Podcast | Enroll to @petersonacademy now:",
  "fastFollowersCount": 0,
  "favouritesCount": 161,
  "followersCount": 5613000,
  "friendCount": 1686,
  "hasCustomTimelines": true,
  "isTranslator": false,
  "listedCount": 14572,
  "location": "",
  "mediaCount": 7318,
  "name": "Dr Jordan B Peterson",
  "normalFollowersCount": 5613000,
  "pinnedTweetIdsStr": [
    "1849105729438790067"
  ],
  "possiblySensitive": false,
  "profileImageUrlHttps": "https://pbs.twimg.com/profile_images/1407056014776614923/TKBC60e1_normal.jpg",
  "profileInterstitialType": "",
  "username": "jordanbpeterson",
  "statusesCount": 51343,
  "translatorType": "none",
  "verified": false,
  "wantRetweets": false,
  "withheldInCountries": []
}

Adım 8: Önemli Hususlar

SSS: Sıkça Sorulan Sorular

  • S: Web Kazıma Nedir?

    Web kazıma, web sitelerinden bilgileri otomatik olarak toplamak için özel bir araç kullanmak gibidir. Sayfadan veri toplamak için robot gibi çalışan bir yardımcı düşünün, böylece bunu manuel olarak yapmak zorunda kalmazsınız. Bu durumda, Python ve Selenium kullanarak Twitter verilerine 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 gerekir. Bu, tarayıcıları kontrol etmenize yardımcı olan Selenium adlı yazılımı yüklemeyi içerir. Ardından, Selenium'un onunla çalışmasını sağlayan Google Chrome için bir yardımcı araç olan ChromeDriver'ı indirirsiniz.

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

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

  • S: Kazıma sırasında performans kaydı nedir?

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

  • S: Twitter kazımadan önce neyi göz önünde bulundurmalıyım?

    Twitter kazımadan önce, Twitter hesabınıza giriş yapmalı ve Twitter'ın verilerine erişim izni olduğunu kanıtlayan bir auth_token almalısınız. Ayrıca, Twitter'ın kurallarına saygı göstermeye dikkat edin, böylece engellenmezsiniz.

  • S: Kazıma sırasında engellenmemek için ne yapmalıyım?

    Engellenmemek için talepler arasında gecikmeler ekleyin, proxy'leri döndürün ve Twitter sunucularını kısa bir süre içinde çok fazla istekle bunaltmamaya özen gösterin.