Web Sitelerinden E-Posta Adreslerini Listeleme

Web Sitelerinden E-Posta Adreslerini Listeleme

İndirme İzni Yok

Kısa Açıklama

Web Sitelerinden E-Posta Adreslerini Listeleme başlıklı bu içerikte, ilgili işlemlere yönelik olarak hazırlanan öğretici bir dosya yer almaktadır.
web-sitelerinden-e-posta-adreslerini-listeleme


Web Sitelerinden E-Posta Adreslerini Listeleme isimli içerikte, bir sayfada yazılı internet sitelerindeki e-mail adreslerinin yazdırılması öğretilmektedir.

Giriş​

Günümüzde birçok web sitesi, kullanıcıların veya şirketlerin iletişim bilgilerini içermektedir. Bu bilgilerin en önemlilerinden biri e-posta adresleridir. Birden fazla web sitesinden e-posta adreslerini manuel olarak toplamak oldukça zaman alıcı olacaktır. Bu dosyada, web sitelerinden e-posta adreslerini otomatik olarak nasıl listeleyebileceğinizi öğreneceğiniz bir Excel VBA kodu bulunmaktadır.

Kullanılan VBA Kodları​

Dosyada, Excel çalışma kitabında iki sayfa kullanarak, belirtilen web sitelerinden e-posta adreslerini çekip listelenme işlemi yerine getirilmektedir. Bu işlem esnasında kodlar, basit bir HTTP isteği yaparak web sayfasının içeriğini çeker ve RegEx kullanarak e-posta adreslerini ayıklamaktadır. Bu özelliklerin listesi şu şekildedir:
  • Dim: Değişken tanımlamak için kullanılır. Bu kodda çalışma sayfaları, HTTP ve HTML nesneleri, düzenli ifadeler ve diğer geçici veriler için çeşitli değişkenler tanımlanmıştır.
  • Set: Nesnelere başvuru yaparken kullanılır. Bu kodda, ws1, ws2, http, html, emailPattern gibi nesneleri başlatmak için Set kullanılmıştır.
  • MSXML2.XMLHTTP.6.0: HTTP istekleri yapmak ve web sayfalarının içeriğini almak için kullanılan bir nesnedir. Bu kodda, her bir URL'ye HTTP GET isteği göndererek sayfa içeriği alınır.
  • HTMLFile: HTML içeriğini işlemek için kullanılan bir nesnedir. Alınan sayfa içeriği bu nesneye aktarılır ve içeriği üzerinde işlemler yapılır.
  • VBScript.RegExp: Düzenli ifadeleri (RegEx) işlemek için kullanılan bir nesnedir. E-posta adreslerini belirli bir desenle taramak için bu nesne kullanılır.
  • For Each: Koleksiyonlar üzerinde döngü yaparak her bir öğeyi işlemek için kullanılan bir döngü yapısıdır. Bu kodda, her bir URL'yi ve her bir e-posta adresini işlemek için For Each döngüleri kullanılmıştır.
  • Range.ClearContents: Hücre aralığındaki tüm içeriği temizlemek için kullanılır. Kodda, sonuçların yazılacağı hücreler önceden temizlenir.
  • Range("A" & Rows.Count).End(xlUp): Excel'de son dolu hücreyi bulmak için kullanılan bir yöntemdir. Bu kodda, yeni e-posta adreslerinin alt alta yazılması için kullanılır.
  • Offset: Bir hücreden belirli bir mesafe kadar başka bir hücreye geçmek için kullanılır. Kodda, e-posta adreslerinin doğru hücrelere yazılması için Offset kullanılmıştır.
Bu özellikler, kodun çalışmasını sağlayan temel bileşenlerdir ve her biri farklı bir amaca hizmet etmektedir. Kodun nasıl çalıştığını anlamak ve gerektiğinde özelleştirebilmek için bu özellikleri bilmek önemlidir.

Adım Adım Kod Açıklamaları​

Bu bölümde, yukarıda verilen VBA kodunun nasıl çalıştığını adım adım incelenecektir. Kodun her bir bölümünde kullanılan yöntemler ve VBA özellikleri hakkında detaylı açıklamalar yaparak, kodun işlevi ve nasıl çalıştığını anlamanız sağlanacaktır. Her adım, kodun belirli bir işlevini gerçekleştirmek için kullanılmaktadır. Böylecek, bu işlevler bir araya geldiğinde, web sitelerinden e-posta adreslerini toplamak için güçlü bir araç ortaya çıkacaktır.

Çalışma Sayfalarını Tanımlama​

Bu kodun ilk adımı, kullanılacak çalışma sayfalarını tanımlamaktır. ws1 ve ws2 olarak belirlenen bu sayfalar, URL'lerin bulunduğu ve e-posta adreslerinin listeleneceği sayfaları temsil etmektedir. ws1, URL'leri içeren bir tabloyu barındırırken, ws2 ise bu URL'lerden elde edilen e-posta adreslerini saklayacaktır. Kodun çalıştırılmasıyla birlikte ws2 sayfasındaki mevcut içerikler temizlenir, böylece yeni veriler temiz bir sayfaya yazdırılmaktadır. Bu adım, işleme başlamadan önce sayfaların doğru şekilde tanımlanmasını sağlamaktadır

HTTP ve HTML Nesnelerinin Oluşturulması​

Bir sonraki adım, HTTP isteği yapmak ve gelen yanıtı HTML formatında işlemek için gerekli olan nesnelerin oluşturulmasıdır. Kod, MSXML2.XMLHTTP.6.0 nesnesini kullanarak her bir URL'yi ziyaret ederek, sayfanın HTML içeriğini almaktadır. Bu içerik daha sonra HTMLFile nesnesine aktarılarak, sayfa içeriği üzerinde işlem yapılabilir hale gelmektedir. Bu adım, kodun veriyi toplamasını sağlar ve işlenecek ham malzemeyi oluşturmaktadır

E-Posta Adreslerini Bulma​

E-posta adreslerinin bulunması için kod, VBScript.RegExp nesnesini kullanarak sayfa içeriğini taramaktadır. RegEx deseni, e-posta adreslerinin genel formatını tanımlamakta ve sayfa içeriğinde bu desenle eşleşen tüm e-posta adreslerini aramaktadır. Bulunan e-posta adresleri matches koleksiyonuna eklenmektedir. Bu aşamada, kod tüm HTML içeriğini tarar ve e-posta adreslerini ayıklamaktadır. Bu adresler daha sonra Excel sayfasına yazılmak üzere toplanmaktadır.

Sonuçların Yazdırılması​

Kodun son aşaması, bulunan e-posta adreslerini ws2 sayfasına yazdırmaktır. Her bir e-posta adresi, sayfadaki uygun hücrelere alt alta gelecek şekilde yerleştirilmektedir. Kod, dolu hücrelerin altına yeni e-posta adreslerini ekleyerek çalışmaktadır. Böylece, mevcut verilerin üzerine yazılmasını engellenemektedir. Bu adımda, tüm e-posta adresleri ws2 sayfasında listelenmiş olacaktır.

Sonuç​

Web Sitelerinden E-Posta Adreslerini Listeleme


Bu dosyada, Excel VBA kullanarak web sitelerinden e-posta adreslerini nasıl toplayabileceğiniz öğretilmektedir. Web sitelerindeki e-posta adreslerini manuel olarak aramak ve toplamak zor olabilmektedir. Ancak bu süreç VBA ile otomatik hale getirildiğinde çok daha verimli olacaktır. Ele aldığımız kod örneği, bu işlemi basit ve etkili bir şekilde gerçekleştirebileceğinizi göstermektedir. Bu teknik, birçok farklı veri türü için de uyarlanarak, farklı senaryolarda kullanılabilmektedir. VBA'nın gücü ve esnekliği sayesinde, veri toplama süreçlerini otomatikleştirmek ve bu süreçlerden en iyi şekilde yararlanmak mümkündür.
Geri
Üst