Python : Kullanıcının Tweetlerini Beğenenleri Kaydedin

Python : Kullanıcının Tweetlerini Beğenenleri Kaydedin

Twitter API’si kullanmadan da bu görevi yerine getirebilirsiniz. Bunun için Selenium ve Beautiful Soup gibi web scraping araçlarından yararlanabilirsiniz. İşlem adımları şu şekilde olabilir:

  1. Selenium ve Beautiful Soup kütüphanelerini kurun.
  2. Selenium ile Twitter’a giriş yapın ve kullanıcının profiline gidin.
  3. Kullanıcının beğendiği tweetlerin bulunduğu sayfaya gidin.
  4. Sayfayı scroll ederek tüm tweetleri yükleyin.
  5. Beautiful Soup kullanarak her tweette bulunan kullanıcı adlarını alın ve bir listeye kaydedin.
  6. Listeyi bir txt dosyasına yazdırın.

Örnek bir Python kodu şu şekilde olabilir:

from selenium import webdriver
from bs4 import BeautifulSoup
import time

# Twitter'a giriş yapmak için kullanıcı adı ve şifrenizi girin
username = "KULLANICI_ADI"
password = "SIFRE"

# WebDriver'ı başlatın ve Twitter'a giriş yapın
browser = webdriver.Chrome()
browser.get("https://twitter.com/login")
time.sleep(2)

username_field = browser.find_element_by_xpath('//*[@id="page-container"]/div/div[1]/form/fieldset/div[1]/input')
username_field.send_keys(username)

password_field = browser.find_element_by_xpath('//*[@id="page-container"]/div/div[1]/form/fieldset/div[2]/input')
password_field.send_keys(password)

login_button = browser.find_element_by_xpath('//*[@id="page-container"]/div/div[1]/form/div[2]/button')
login_button.click()
time.sleep(2)

# Kullanıcının profiline gidin
browser.get("https://twitter.com/KULLANICI_ADI")
time.sleep(2)

# Kullanıcının beğendiği tweetlerin bulunduğu sayfaya gidin
browser.get("https://twitter.com/KULLANICI_ADI/likes")
time.sleep(2)

# Sayfayı scroll ederek tüm tweetleri yükleyin
last_height = browser.execute_script("return document.body.scrollHeight")
while True:
    browser.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    time.sleep(2)
    new_height = browser.execute_script("return document.body.scrollHeight")
    if new_height == last_height:
        break
    last_height = new_height

# Beautiful Soup kullanarak her tweette bulunan kullanıcı adlarını alın ve bir listeye kaydedin
html = browser.page_source
soup = BeautifulSoup(html, "html.parser")
usernames = []
for tweet in soup.find_all("div", class_="css-1dbjc4n r-18u37iz r-1wbh5a2"):
    username = tweet.find("a", class_="css-4rbku5 css-18t94o4 css-1dbjc4n r-1niwhzg r-42olwf r-sdzlij r-1phboty r-rs99b7 r-1loqt21 r-1w2pmg r-1vuscfd r-53xb7h r-1ny4l3l r-1fneopy").text
    usernames.append(username)

# Listeyi bir txt dosyasına yazdırın
with open("usernames.txt", "w") as f:
    for username in usernames:
        f.write(username + "\n")

#
02.04.2023
816
Ziyaretçi Yorumları

Henüz yorum yapılmamış. İlk yorumu aşağıdaki form aracılığıyla siz yapabilirsiniz.

Whatsapp
Kahraman.com
Kahraman.com
Merhaba
Size nasıl yardımcı olabiliriz?