C# ile web sitesinden veri çekme

Hocam site sizinse arşivleyebilirsiniz ancak site sizin değilse veri hırsızlığına giriyor bu iş. Her sitenin altında vardır işte copyright... İzin almadan yaparsanız soluğu mahkemede alabilirsiniz benim başıma geldi üstte bahsettim bakabilirsiniz.

Eki Görüntüle 836066
Paylaşmadığımız sürece illegal bir durum olmaz diye düşünüyorum. Sonuç olarak değişiklik yapmadan arşivlenecek.
 
Paylaşmadığımız sürece illegal bir durum olmaz diye düşünüyorum. Sonuç olarak değişiklik yapmadan arşivlenecek.

Hocam arşivleyip yayınlamamanızda bir sorun yok. Her sitede olan bir log tutma sistemi var bu sistem hangi IP adresi üzerinden trafik yaptığını tutuyor. Yani siz botu çalıştırdığınız anda hedef siteye büyük bir trafik biniyor bu da site üzerinde aksamalara neden olabiliyor. Log dosyası üzerinden yapılan IP adresini alıp mahkemeye verebilir.
Örnek hedef adres:

1610648848197.png


İyi hoş diyorsunuz, bende öyle düşündüm ama bazı hatalara karşı gelemiyorum. Yani bazı string verileri htmlagilitypack de kullanamazsın tarzı dönüşler alıyorum programdan. İçinden çıkamadım.

Hocam algoritma tasarlayın mantıklı düşünün. Ne yaparsam bu sistem düzgün çalışır diye kafa yorun. Bulacaksanız emin olun :D.
 
Arkadaşlar kolay gelsin. Yeni öğreniyorum ama ufak bir sorum olacaktı. Bir web sitesinden veri çekmek istiyorum, sadece text olarak. Her şeyi yaptım sorunsuz çalışıyor ama sadece başlıkları alıyor. Tüm içeriğe ulaşmam için yardımcı olur musunuz?

[CODE lang="csharp" title="https.den sonra web sitesi var yazmadım sadece bilginize"]Uri url = new Uri("https://url");

WebClient client = new WebClient();
string html = client.DownloadString(url);
HtmlAgilityPack.HtmlDocument dokuman = new HtmlAgilityPack.HtmlDocument();
dokuman.LoadHtml(html);
HtmlNodeCollection basliklar = dokuman.DocumentNode.SelectNodes("//a");

foreach (var baslik in basliklar)
{
string link = baslik.Attributes["href"].Value;
listBox1.Items.Add(baslik.InnerText);[/CODE]
Hocam bunu denedim. İlk hatayı aldım. Daha sonra kendi çabalarımla düzelteyim dedim 2. hatayı aldım. Nerede yanlış yapıyorum acaba. 😃
 

Dosya Ekleri

  • 11.png
    11.png
    11,2 KB · Görüntüleme: 88
  • 22.png
    22.png
    12,1 KB · Görüntüleme: 64
En son aşağıdaki hale getirdim yukarıdaki arkadaşın tavsiyesiyle ama bu sefer de hiç veri getirmiyor. div.leri verileri çekeceğim siteden kopyaladım bu arada. En başta yazdığım durumda en azından başlıkları getiriyordu. 😅

[CODE title="https.den sonra web sitesi var yazmadım"]Uri url = new Uri("https://url");
WebClient client = new WebClient();
string html = client.DownloadString(url);
var htmlad = client.DownloadString(url);
var clientad = new WebClient();
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var veri = doc.DocumentNode.SelectNodes("//*[@id='pagecenter']/div[4]/div[2]/div[1]/div[2]/div[5]/div[2]")[0];
if (veri != null)
{
listBox1.Text = "Veri" + veri.InnerHtml;[/CODE]
 
En son aşağıdaki hale getirdim yukarıdaki arkadaşın tavsiyesiyle ama bu sefer de hiç veri getirmiyor. Div. Leri verileri çekeceğim siteden kopyaladım bu arada. En başta yazdığım durumda en azından başlıkları getiriyordu. 😅

[CODE title="https.den sonra web sitesi var yazmadım"]Uri url = new Uri("https://url");
WebClient client = new WebClient();
string html = client.DownloadString(url);
var htmlad = client.DownloadString(url);
var clientad = new WebClient();
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var veri = doc.DocumentNode.SelectNodes("//*[@id='pagecenter']/div[4]/div[2]/div[1]/div[2]/div[5]/div[2]")[0];
if (veri != null)
{
listBox1.Text = "Veri" + veri.InnerHtml;[/CODE]

Listbox ekledin mi?
 

Yeni konular

Geri
Yukarı