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()