import feedparser
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import os
# Instagram kullanıcı adı ve şifre
USERNAME = "username"
PASSWORD = "password"
# RSS beslemesi URL'si
RSS_FEED_URL = "https://rss.haberler.com/rss.asp"
# Instagram web sitesi URL'si
INSTAGRAM_URL = "https://www.instagram.com/"
INSTAGRAM_URLs = "https://www.instagram.com/accounts/onetap/?next=%2F"
# Selenium sürücüsünü başlatma
options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
options.add_argument("--disable-notifications")
driver = webdriver.Chrome(options=options)
# Instagram'a giriş yapma fonksiyonu
def login_to_instagram(username, password):
    driver.get(INSTAGRAM_URL)
     
    # Sayfanın tam yüklenmesini bekleyin
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, "username")))
     
    driver.find_element(By.NAME, "username").send_keys(username)
    driver.find_element(By.NAME, "password").send_keys(password)
    driver.find_element(By.NAME, "password").submit()
    # Giriş düğmesini bulmak için bir süre daha bekleyin
    WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//button[contains(text(), 'Giriş Yap')]"))).click()
     
    time.sleep(15)   # Giriş işleminin tamamlanmasını bekleyin
# RSS beslemesinden veri çekme fonksiyonu
def fetch_rss_feed(rss_feed_url):
    feed = feedparser.parse(rss_feed_url)
    latest_entry = feed.entries[0]
    title = latest_entry.title
    content = latest_entry.summary
    return title, content
# Instagram'a gönderi yapma fonksiyonu
def post_to_instagram(title, content):
    driver.get(INSTAGRAM_URLs)
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//button[contains(text(), 'Şimdi değil')]"))).click()
    driver.get(INSTAGRAM_URL)
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//span[text()='Oluştur')]"))).click()
    file_path = "/path/to/your/image.jpg"  # Yüklemek istediğiniz resmin yolunu buraya girin
    # Dosya yükleme alanını bul
    upload_input = driver.find(By.XPATH,"//input[@type='file']")
    # Dosyayı yükle
    upload_input.send_keys(os.path.abspath(file_path))
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//div[text()='İleri')]"))).click()
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//div[text()='İleri')]"))).click()
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//div[text()='Paylaş')]"))).click()
    driver.find_element(By.TAG_NAME, "textarea").send_keys(f"{title}\n\n{content}")  # Başlık ve içeriği gönderiye yaz
    driver.find_element(By.XPATH, "//button[contains(text(), 'Paylaş')]").click()  # Paylaş düğmesine tıkla
# Instagram'a giriş yap
login_to_instagram(USERNAME, PASSWORD)
# RSS beslemesinden veri çek
title, content = fetch_rss_feed(RSS_FEED_URL)
# Instagram'a gönderi yap
post_to_instagram(title, content)
# Tarayıcıyı kapat
driver.quit()