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
- Twitter'a giriş yapın ve auth_token alın. Auth Token Nasıl Alınır
- Apify'den api kullanabilirsiniz.
- Tüm kodu GitHub'dan alabilirsiniz.
- Tartışma grubumuza katılın! Buraya Tıklayın
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.