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.