Google E-Tablolar'ı kullanarak bir web sitesinden veri çıkarmanın mümkün olduğunu biliyor muydunuz? İşte bunu nasıl yapabileceğiniz.
Web kazıma, web sitelerinden bilgi çıkarmak ve bunları otomatik olarak analiz etmek için güçlü bir tekniktir. Bunu manuel olarak yapabilseniz de sıkıcı ve zaman alıcı bir iş olabilir. Web kazıma araçları, süreci daha hızlı ve daha verimli hale getirirken aynı zamanda daha az maliyetlidir.
İlginç bir şekilde Google E-Tablolar, IMPORTXML işlevi sayesinde tek noktadan web hurdaya çıkarma aracınız olma potansiyeline sahiptir. IMPORTXML ile web sayfalarından verileri kolayca kazıyabilir ve analiz, raporlama veya diğer veri odaklı görevler için kullanabilirsiniz.
Google E-Tablolar'daki IMPORTXML İşlevi
Google E-Tablolar, XML, HTML, RSS ve CSV gibi web biçimlerinden verileri içe aktarmanıza olanak tanıyan IMPORTXML adlı yerleşik bir işlev sağlar. Karmaşık kodlamaya başvurmadan web sitelerinden veri toplamak istiyorsanız bu işlev oyunun kurallarını değiştirebilir.
IMPORTXML'in temel sözdizimi şöyledir:
=IMPORTXML(url, xpath_query)
- URL: Verileri almak istediğiniz web sayfasının URL'si.
- xpath_query: Çıkarmak istediğiniz verileri tanımlayan XPath sorgusu.
XPath (XML Yol Dili), HTML de dahil olmak üzere XML belgelerinde gezinmek için kullanılan bir dildir; bir HTML yapısı içindeki verilerin konumunu belirtmenize olanak tanır. XPath sorgularını anlamak, IMPORTXML'i doğru şekilde kullanmak için çok önemlidir.
XPath'ı Anlamak
XPath, bir HTML belgesi içindeki verilerde gezinmek ve verileri filtrelemek için çeşitli işlevler ve ifadeler sağlar. Kapsamlı bir XML ve XPath kılavuzu bu makalenin kapsamı dışında olduğundan, bazı temel XPath kavramlarıyla yetineceğiz:
- Eleman Seçimi: Öğeleri kullanarak seçebilirsiniz. / Ve // yolları belirtmek için. Örneğin, /html/body/div bir belgenin gövdesindeki tüm div öğelerini seçer.
- Özellik Seçimi: Nitelikleri seçmek için şunu kullanabilirsiniz: @. Örneğin, //@href hepsini seçer href sayfadaki özellikler.
- Tahmin Filtreleri: Öğeleri köşeli parantez () içine alınmış yüklemleri kullanarak filtreleyebilirsiniz.[ ]). Örneğin, /div[@class="container"] hepsini seçer div sınıfa ait öğeler konteyner.
- Fonksiyonlar: XPath gibi çeşitli işlevler sağlar içerir(), ile başlar(), Ve metin() metin içeriğini veya nitelik değerlerini kontrol etmek gibi belirli eylemleri gerçekleştirmek için.
Bir Web Sitesinden XPath Nasıl Çıkarılır
Şu ana kadar IMPORTXML sözdizimini biliyorsunuz, web sitesinin URL'sini biliyorsunuz ve hangi öğeyi çıkarmak istediğinizi biliyorsunuz. Peki elementin XPath'ını nasıl elde edersiniz?
IMPORTXML ile verilerini çıkarmak için bir web sitesinin yapısını ezbere bilmenize gerek yoktur. Aslında her tarayıcıda, herhangi bir öğenin XPath'ını anında kopyalamanıza olanak tanıyan kullanışlı bir araç bulunur.
Öğeyi İnceleme aracı XPath'ı web sitesi öğelerinden çıkarmanızı sağlar. İşte nasıl:
- Tercih ettiğiniz web tarayıcısını kullanarak kazımak istediğiniz web sayfasına gidin.
- Kazımak istediğiniz öğeyi bulun.
- Öğeye sağ tıklayın.
- Seçme Elemanı İncele sağ tıklama menüsünden. Tarayıcınız web sayfasının HTML kodunu görüntüleyen bir panel açacaktır. İlgili HTML öğesi kodda vurgulanacaktır.
- Öğeyi Denetle panelinde, HTML kodunda vurgulanan öğeye sağ tıklayın.
- Tıklamak XPath'ı kopyala öğenin XPath adresini panonuza kopyalamak için.
Artık ihtiyacınız olan her şeye sahip olduğunuza göre, IMPORTXML'i çalışırken görme ve bazı bağlantıları çıkarma zamanı geldi.
Web sitelerinden her türlü veriyi kazımak için IMPORTXML'i kullanabilirsiniz. Buna bağlantılar, videolar, resimler ve web sitesinin hemen hemen her öğesi dahildir. Bağlantılar, web analizinde en öne çıkan unsurlardan biridir ve yalnızca bağlantı verdiği sayfaları analiz ederek bir web sitesi hakkında çok şey öğrenebilirsiniz.
IMPORTXML, Google E-Tablolar'daki bağlantıları hızlı bir şekilde kazımanıza ve ardından Google E-Tablolar'ın sunduğu çeşitli işlevleri kullanarak bunları daha ayrıntılı analiz etmenize olanak tanır.
Bir web sayfasındaki tüm bağlantıları silmek için aşağıdaki formülü kullanabilirsiniz:
=IMPORTXML(url, "//a/@href")
Bu XPath sorgusu tümünü seçiyor href nitelikleri A sayfadaki tüm bağlantıları etkili bir şekilde ayıklayan öğeler.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a/@href")
Yukarıdaki formül bir Vikipedi makalesindeki tüm bağlantıları siler.
Web sayfasının URL'sini ayrı bir hücreye girip daha sonra bu hücreye başvurmak iyi bir fikirdir. Bu, formülünüzün çok uzun ve hantal olmasını önleyecektir. Aynısını XPath sorgusu ile de yapabilirsiniz.
2. Tüm Bağlantı Metinlerini Kazıma
Bağlantıların metnini URL'leriyle birlikte çıkarmak için şunları kullanabilirsiniz:
=IMPORTXML(url, "//a")
Bu sorgu tüm öğeleri seçer ve bağlantı metnini ve URL'leri sonuçlardan çıkarabilirsiniz.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a")
Yukarıdaki formül aynı Wikipedia makalesindeki bağlantı metinlerini alır.
Bazen kriterlere göre belirli bağlantıları silmeniz gerekebilir. Örneğin, belirli bir anahtar kelimeyi içeren bağlantıları veya sayfanın belirli bir bölümünde bulunan bağlantıları çıkarmak ilginizi çekebilir.
Doğru XPath bilgisi ile aradığınız herhangi bir öğenin yerini belirleyebilirsiniz.
Belirli bir anahtar kelimeyi içeren bağlantıları kazımak için include() XPath işlevini kullanabilirsiniz:
=IMPORTXML(url, "//a[contains(@href, 'keyword')]/@href")
Bu sorgu, href'in belirtilen anahtar kelimeyi içerdiği öğelerin href niteliklerini seçer.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a[contains(@href, 'record')]/@href")
Yukarıdaki formül, örnek bir Vikipedi makalesindeki metinlerinde sözcük kaydı içeren tüm bağlantıları siler.
Bir sayfanın belirli bir bölümündeki bağlantıları kazımak için bölümün XPath'ını belirtebilirsiniz. Örneğin:
=IMPORTXML(url, "//div[@class='section']//a/@href")
Bu sorgu, "section" sınıfına sahip div öğeleri içindeki öğelerin href niteliklerini seçer.
Benzer şekilde, aşağıdaki formül div sınıfı içindeki mw-content-container sınıfına sahip tüm bağlantıları seçer:
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//div[@class='mw-content-container']//a/@href")
IMPORTXML'i web kazımaktan daha fazlası için kullanabileceğinizi belirtmekte fayda var. IMPORT işlev ailesini aşağıdaki amaçlarla kullanabilirsiniz: veri tablolarını web sitelerinden Google E-Tablolar'a aktarın.
Google E-Tablolar ve Excel işlevlerinin çoğunu paylaşsa da IMPORT işlev ailesi Google E-Tablolar'a özgüdür. Diğer yöntemleri göz önünde bulundurmanız gerekecek web sitelerinden Excel'e veri aktarma.
Google E-Tablolar ile Web Scraping'i Basitleştirin
Google E-Tablolar ve IMPORTXML işleviyle web kazıma, web sitelerinden veri toplamanın çok yönlü ve erişilebilir bir yoludur.
XPath'ta uzmanlaşarak ve etkili sorguların nasıl oluşturulacağını anlayarak, IMPORTXML'in tüm potansiyelini ortaya çıkarabilir ve web kaynaklarından değerli bilgiler elde edebilirsiniz. Öyleyse kazımaya başlayın ve web analizinizi bir sonraki seviyeye taşıyın!