import requests
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.chrome.options import Options
import time
# Twitter giriş bilgileri
username = "your_username"
password = "your_password"
# Beğenilecek tweetin URL'si
tweet_url = "https://twitter.com/username/status/tweet_id"
# ChromeDriver path
chrome_driver_path = "/path/to/chromedriver"
# Selenium kullanarak Twitter'a giriş yap ve çerezleri al
chrome_options = Options()
chrome_options.add_argument("--headless")
driver_service = Service(chrome_driver_path)
driver = webdriver.Chrome(service=driver_service, options=chrome_options)
# Twitter'a git
driver.get("https://twitter.com/login")
time.sleep(5)
# Kullanıcı adı ve şifre alanlarını doldur
username_input = driver.find_element(By.NAME, "session[username_or_email]")
password_input = driver.find_element(By.NAME, "session[password]")
username_input.send_keys(username)
password_input.send_keys(password)
password_input.send_keys(Keys.RETURN)
# Giriş işleminin tamamlanmasını bekle
time.sleep(5)
# Çerezleri al
cookies = driver.get_cookies()
driver.quit()
# Çerezleri requests oturumuna ekle
session = requests.Session()
for cookie in cookies:
session.cookies.set(cookie['name'], cookie['value'])
# Tweet URL'sine git
response = session.get(tweet_url)
soup = BeautifulSoup(response.text, 'html.parser')
# Tweet beğenme işlemi
like_button = soup.find('div', {'data-testid': 'like'})
if like_button:
like_action = like_button['data-action']
csrf_token = session.cookies.get('ct0')
headers = {
'authorization': 'Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAA...',
'x-csrf-token': csrf_token,
'content-type': 'application/json'
}
payload = {
'tweet_mode': 'extended',
'include_entities': '1',
'include_user_entities': '1',
'include_card_uri': 'false',
'cards_platform': 'Web-12',
'include_reply_count': '1',
'tweet_id': tweet_id
}
like_response = session.post(like_action, headers=headers, json=payload)
if like_response.status_code == 200:
print("Tweet beğenildi!")
else:
print("Tweet beğenilemedi:", like_response.status_code)
else:
print("Beğenme butonu bulunamadı")