Merhaba mydramalist sitesindeki bazı içeriklerden birkaç veri almam gerekiyor. Alacağım veriler "Dizi adı", "Bölüm sayısı", "Yayın yılı" ve "Konusu". Dizi adını ve konu kısımlarını alıyorum ama bölüm sayısı ve yayın yılı verilerini alamıyorum. Bir de konu kısmını türkçe olarak almak istiyorum. Bu konuda yardımcı olabilir misiniz? Sabahtan beri 7-8 yapay zeka denedim ama bir türlü yapamadım. Kodu aşağıya yazıyorum. Yardımcı olanlara şimdiden teşekkür ederim.


import requests
from bs4 import BeautifulSoup
import csv
from googletrans import Translator  # Google Translate kütüphanesini yükle
# Fonksiyonu tanımlayın
def scrape_and_save(url, page_num):
    # İstek gönderin
    response = requests.get(url)
    soup = BeautifulSoup(response.content, "html.parser")
    
    # CSV dosyasını açın ve yazıcıyı tanımlayın
    with open(f"sayfa_{page_num}.csv", mode="w", encoding="utf-8", newline="") as file:
        writer = csv.writer(file)
        writer.writerow(["Dizi/Film Adı", "Bölüm Sayısı", "Yayın Yılı", "Konusu"])  # Sütun başlıkları
        
        # Dizi/Film başlıklarını bulun
        titles = soup.find_all("h6", class_="text-primary")
        
        for title in titles:
            drama_title = title.get_text(strip=True)
            drama_link = title.a["href"]
            drama_response = requests.get("https://mydramalist.com" + drama_link)
            drama_soup = BeautifulSoup(drama_response.content, "html.parser")
            
            details = drama_soup.find_all("li", class_="p-a-0")
            episodes = "N/A"
            aired = "N/A"
            for detail in details:
                label = detail.find("b", class_="inline").get_text(strip=True)
                if label == "Episodes:":
                    episodes = detail.get_text(strip=True).split(':')[1].strip()
                elif label == "Aired:":
                    aired = detail.get_text(strip=True).split(':')[1].strip()            
            summary = drama_soup.find("div", class_="show-synopsis").get_text(strip=True)
            
            # Çeviri servisi sınırlarını aşmamak için metni parçalara bölelim
            max_chars = 450  # Her parça için maksimum karakter sayısı
            parts = [summary[i:i + max_chars] for i in range(0, len(summary), max_chars)]
            translated_summary = ""
            translator = Translator()
            for part in parts:
                # Her parçayı çevirip birleştirelim
                translated_part = translator.translate(part, src='en', dest='tr').text
                translated_summary += translated_part + " "
            
            # Elde edilen verileri CSV dosyasına yazın
            writer.writerow([drama_title, episodes, aired, translated_summary])
# Başlangıç URL'si
base_url = "https://mydramalist.com/search?adv=titles&ty=68&co=3&re=2024,2024&rt=1,10&st=3&so=date&page="
# Her sayfa için işlem yapın ve veriyi CSV'ye kaydedin
for page_num in range(1, 55):  # Örnek olarak 54 sayfa alacağız
    url = base_url + str(page_num)
    scrape_and_save(url, page_num)