• 25-03-2023, 01:32:02
    #1
    Merhaba arkadaşlar


    imdb.com üzerinden kategorize şekilde veri çekilip manuel olarak tek tek düzenleme imkanı sağlayıp yine manuel oalrak post ettireceğim bir scripte bota ihtiyacım var

    ilgilenen arkadaşlar yazabilir mi , detay vereyim

    ihtiyacım olan apisiz yazabileceklerdir
  • 25-03-2023, 01:50:24
    #2
    Dilerseniz C# ile yazabilirim. chatbotlara bile sorsak neredeyse hallediyorlar. Dilerseniz imza bölümündeki iletişim numarasından ulaşabilirsiniz.

    Aşağıda chatbot'un verdiği örnekten de faydalanabilirsiniz;
    Tabii, aşağıdaki örnek kod C# Forms uygulaması olarak imdb.com'dan veri çeker ve bu verileri MySQL veritabanına kaydeder.
    Öncelikle, projenize MySQL.Data NuGet paketini yükleyin. Daha sonra, bir MySQL veritabanı oluşturun ve bu veritabanına bağlanmak için gerekli bilgileri C# kodunda kullanın.
    Aşağıdaki örnek kodda, IMDb filmlerinin isimleri ve puanlarını içeren bir DataTable oluşturuyoruz. Daha sonra, DataTable'ı MySQL veritabanına kaydediyoruz.
    
    using System;
    using System.Data;
    using System.Windows.Forms;
    using MySql.Data.MySqlClient;
    
    namespace ImdbScraper
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                // IMDb'den verileri çek
                DataTable dt = GetImdbData();
    
                // Verileri MySQL veritabanına kaydet
                string connStr = "server=localhost;user=root;database=mydb;port=3306;password=mypassword;";
                MySqlConnection conn = new MySqlConnection(connStr);
                conn.Open();
    
                foreach (DataRow row in dt.Rows)
                {
                    string title = row["Title"].ToString();
                    string rating = row["Rating"].ToString();
                    string query = "INSERT INTO movies (title, rating) VALUES (@title, @rating)";
    
                    using (MySqlCommand cmd = new MySqlCommand(query, conn))
                    {
                        cmd.Parameters.AddWithValue("@title", title);
                        cmd.Parameters.AddWithValue("@rating", rating);
                        cmd.ExecuteNonQuery();
                    }
                }
    
                conn.Close();
                MessageBox.Show("Veriler başarıyla kaydedildi.");
            }
    
            private DataTable GetImdbData()
            {
                using (WebClient client = new WebClient())
                {
                    // Web sayfasına istek gönder
                    string url = "https://www.imdb.com/chart/top";
                    string html = client.DownloadString(url);
    
                    // HTML içeriğini bir belge olarak yükle
                    HtmlDocument doc = new HtmlDocument();
                    doc.LoadHtml(html);
    
                    // XPath ifadesi kullanarak filmleri seç
                    string xpath = "//td[@class='titleColumn']/a";
                    HtmlNodeCollection titleNodes = doc.DocumentNode.SelectNodes(xpath);
    
                    xpath = "//td[@class='ratingColumn imdbRating']/strong";
                    HtmlNodeCollection ratingNodes = doc.DocumentNode.SelectNodes(xpath);
    
                    // DataTable oluştur
                    DataTable dt = new DataTable();
                    dt.Columns.Add("Title");
                    dt.Columns.Add("Rating");
    
                    // Filmlerin isimlerini ve puanlarını ekle
                    for (int i = 0; i < titleNodes.Count; i++)
                    {
                        string title = titleNodes[i].InnerText.Trim();
                        string rating = ratingNodes[i].InnerText.Trim();
                        dt.Rows.Add(title, rating);
                    }
    
                    return dt;
                }
            }
        }
    }
    Bu örnek kodda, Form1_Load olayında GetImdbData metodu ile IMDb'den verileri çekiyoruz. Daha sonra, verileri MySQL veritabanına kaydediyoruz. Veritabanı bağlantısını açmak için gerekli bilgileri connStr değişkeninde belirtiyoruz.
    MySQL veritabanına kaydetmek için, DataTable'ı döngü ile dolaşıyoruz ve her bir veri için bir INSERT sorgusu oluşturuyoruz. Bu sorguyu MySqlCommand nesnesi ile MySQL veritabanına gönderiyoruz.
    Sonuç olarak, bu örnek kodu kullanarak IMDb'den veri çekebilir ve bu verileri MySQL veritabanına kaydedebilirsiniz.
    • EryGrmn
    EryGrmn bunu beğendi.
    1 kişi bunu beğendi.
  • 25-03-2023, 02:04:55
    #3
    İmdb apisi var kullanın
  • 27-03-2023, 00:30:08
    #4
    konu güncel
  • 25-04-2023, 14:12:17
    #5
    konu güncel