- 14 Eki 2022
- 607
- 499
Bu program girdiğiniz dosyada ki web sitelerine teker teker http isteği gönderir, istek başarılı olursa sitenin kaynak kodunu çeker ve girdiğiniz regex kodu ile içerisinde ki verileri ayıklar. örneğin aşağıda ki resimde gördüğünüz gibi proxyleri toplamak için bir regex kodu girdim ve program sitelerin üzerinde ki proxyleri çekip yazdırdı.
Bir de sitelerde ki e-posta adreslerini çekmeye çalışalım
regex -> \b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b
gördüğünüz gibi e-possta adreslerini çekebildik
çekme işlemini gerçekleştiren kod parçası şu sekilde
burada ki dosyaları indirerek çalıştırabilirsiniz: WebCrawlRegex/bin/Debug/net6.0-windows at main · willsh2/WebCrawlRegex
Bir de sitelerde ki e-posta adreslerini çekmeye çalışalım
regex -> \b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b
gördüğünüz gibi e-possta adreslerini çekebildik
çekme işlemini gerçekleştiren kod parçası şu sekilde
C#:
using (HttpClient httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Add("User-Agent", userAgent);
HttpResponseMessage kaynak = httpClient.GetAsync(siteler[i]).Result;
if (kaynak.IsSuccessStatusCode)
{
MatchCollection veriler = new Regex(@textBox1.Text).Matches(kaynak.Content.ReadAsStringAsync().Result);
List<string> yveriler = new List<string>();
foreach (Match veri in veriler)
{
if (!yveriler.Contains(veri.Value))
{
yveriler.Add(veri.Value);
}
}
foreach (string veri in yveriler)
{
listBox1.Items.Add(veri);
}
listBox2.Items.Add($"{siteler[i]} sitesi üzerinden {veriler.Count()} veri alýndý.");
}
else
{
listBox2.Items.Add($"{siteler[i]} sitesi {kaynak.StatusCode} kodunu döndürdü.");
}
}
burada ki dosyaları indirerek çalıştırabilirsiniz: WebCrawlRegex/bin/Debug/net6.0-windows at main · willsh2/WebCrawlRegex