karanlık proxyscrape logo

Nasıl Kurşun "Milyoneri" Oldum

Şubat-01-20245 dakika okuma

~ Arya'dan bir webscraping hikayesi - Bir ProxyScrape kullanıcısı

Açık olmak gerekirse, ProxyScrape'un resmi bir temsilcisi olmadığımı belirtmem gerekiyor. Ancak, hizmetlerinin büyük bir hayranı ve müşterisiyim. Eğer hizmetlerini henüz kullanmıyorsanız, kullanmanızı şiddetle tavsiye ederim! Aşağıdaki görüş ve düşünceler tamamen bana aittir.


"Oh $!*^, hiçbir yolu yok"

Gecenin 3'ünde, bir zamanlar süt dağıtımları kadar moda olan, çoğu insanın disko müziği ve o çılgın neon kıyafetler dönemine atacağı bir şirketin hala 80'lerin kötü bir saç kesimi gibi ortalıkta dolaştığını ve ne yazık ki her yerde olduğunu fark etmekle boğuşurken kendimi tam da bu duyguyu mırıldanırken buldum.

Bu şirket en iyi zamanlarında gerçek bir anlaşmaydı. Yani, en parlak döneminde ondan kaçamazdınız. Şimdi ise adı sadece huzurevlerinde nostalji ile anılıyor.

"YellowPages."
Merak ediyor olabilirsiniz, "Bu neden önemli? Neden kimse umursasın ki? Bu neden diğer yarısında GTA 5 oynayan bir adamın olduğu 30'lu yıllara ait bir TikTok değil?" Web kazımanın en popüler kullanım alanlarından biri potansiyel müşteri bulma ve yaratmadır. Herkesin çılgınca şeyler sattığı kapitalist harikalar diyarımızda, "yarım eşkenar dörtgen" şeklindeki kripto devremülkünüze "HODL" ve "FOMO" yapacak enayiler için interneti taramak mantıklıdır. Ve hey, açık olmak gerekirse, "bu bir piramit şeması DEĞİL... sadece Mısır'daki o ünlü sivri şeyler gibi şekillendirilmiş."
So, here’s the kicker. One of the absolute gems for B2B lead generation, in my humble opinion, is none other than YellowPages (or Yell for you “chewsday” people). Why? Well, let me break it down:
  1. "utanç duvarı": İnternet çağını tam olarak yakalayamamış bu kalıntılar hala orada asılı duruyor. TikToks yüzünden açtığınız ve üç ay içinde tövbe ettiğiniz, şimdi Google'ın işletme dizinlerinde ölümsüzleşen SMMA gibi, dedenizin işletmesi de muhtemelen orada takılıyordur.
  1. "Ben diğer kızlar gibi değilim": Taze yüzlü kazıyıcılar Google Haritalar'ın küçük işletmeler için kutsal kase olduğuna inanırken, her bilgili kazıyıcı bunun bir saçmalık olduğunu bilir - doymuştur, belirli bir kel adamdan ilham alan her 14 yaşındaki çocuk bu işletmeleri taciz etmiştir.
  1. "bir bebeğin elinden şekerini almak gibi": YellowPages'in ve türevlerinin web sitelerinin en ufak bir koruması yok. Rehberlerindeki her bir işletmeyi saniyeler içinde kazıyabilirim. Burada ON MİLYONLARCA potansiyel müşteriden bahsediyoruz.

Elbette, pazarlama çevrelerinde moda sözcük olmayabilir, ancak fırsat burada yatıyor. Diğerleri son trendlerin peşinden koşarken, bilgili birkaç kişi internetin unutulmuş köşelerindeki potansiyelin farkına varıyor. YellowPages geçmişten kalma bir kalıntı olabilir, ancak potansiyel müşteri yaratma dünyasında, kullanılmayan potansiyele ve başarıya giden bir yol haritasına sahip bir kalıntıdır.

Şimdi, "Böyle bir fırsattan nasıl faydalanabilirim?" diye soruyor olabilirsiniz. - Gelin her adımı birlikte gözden geçirelim ve umarız bazı Neandertaller bile bunun sonunda YellowPages'i kazıyabilir.

Bu konuya diğer web sitelerine yaklaştığımız gibi yaklaşacağız. İlk adım, web sitesinin nasıl çalıştığını bulmaktır. Bu genellikle sizin, evet sizin, o sulu-sulu verilerin bulunduğu yere nasıl gideceğinizi bulmanızı gerektirir. Hayır $!*^... Eğer bulamazsanız verileri nasıl elde etmeyi bekliyorsunuz?!?

Yukarıda gösterilmiştir: YellowPages Kanada'nın açılış sayfasıBu yazının talihsiz kurbanı.

Yukarıda açılış sayfalarında görebileceğiniz gibi, biri arama teriminiz diğeri de konum için olmak üzere iki metin girişi vardır. Bunları dolduralım ve bir arama yapalım; "Toronto, Ontario "da "Diş Hekimleri" arayacağım.

ABC'nizi bulup bunları doldurduktan ve arama düğmesini bulup tıklamayı başardıktan sonra (etkilendim), aşağıdaki gibi bir yolu olan yukarıdaki gibi bir sayfaya yönlendirilmeniz gerekir:

/search/si/1/Dentists/Toronto+ON

Aşağıdaki yol yapısını çıkarabiliriz (bu daha sonra kullanışlı olacaktır):


/search/si/[Sayfa Numarası]/[Arama Terimi]/[Yerellik]+[Bölge Kodu]

Unutulmaması gereken bir diğer husus, istediğimiz verileri, yani işletme listelerini zaten bulduk - şimdi bu işletme listelerinin nereden yüklendiğini bulalım, belge içinde gönderilmeli VEYA bir API uç noktasından alınmalıdır (veya titizseniz ve bana güvenin - websocket'leri gördüm).

Yukarıda gösterilmiştir: Sayfadan gelen fetch/XHR istekleri. (Spoiler: veri bunların hiçbirinde yok.)
Yukarıda gösterilmiştir: Belge içindeki işletme listeleri. (OMGEEE Veriler aslında belgenin içindeydi.)
Verileri aramak için API isteklerini incelediğimizde, bunun boşuna olduğu kanıtlandı. Bunun üzerine dikkatimizi HTML'ye yönelttik. Şimdi, işte size küçük bir içgörü külçesi - "on yılı aşkın bir süredir dijital ortamda gezindikten" sonra, sayfaların hızlı yanıt verme özelliği sayesinde verilerin belgenin içinde olduğunu içgüdüsel olarak biliyordum.

Yine de gerçekçi olalım. YellowPages'in umutsuzca alaka ve daha da önemlisi gelir arayan bir telefon rehberi şirketi olduğu düşünüldüğünde, en son teknoloji yığınlarıyla hava atmaları olası değil. Flanel giyerek gösteriş yapan ve özgeçmişinde elli adet React tabanlı yapılacaklar uygulaması bulunan geliştiricileri işe alma şansları yok denecek kadar az. Peki, web sayfasının statik olmasına gerçekten şaşırdık mı?

Bununla birlikte, sayfa içindeki listeler "div.resultList" seçicisi kullanılarak çıkarılabilen bir div içinde yer almaktadır. Yukarıda bahsedilen öğe içinde uygun bir şekilde yuvalanmış olan her bir liste, şu seçici ile ayıklanabilir div[itemtype="http://schema.org/LocalBusiness] 

Bu ayrıntı düzeyinin ötesindeki verileri tek tek nasıl ayıklayacağınızı size bırakıyorum; aksi takdirde sonsuza kadar burada kalırdık. "itemprop" özelliğini kullanın - bu sizin için süreci önemli ölçüde kolaylaştıracaktır.

Şimdi, ayıklamayı otomatikleştirmek için: URL'yi kullanarak sonuçları sayfalandırmalı (daha önce tartıştığımız yol yapısını hatırlayın), boş bir sayfaya ulaşana kadar her sayfadan öğeleri ve verileri çıkarmalısınız. Ben şahsen bu proje için Rust kullanmayı tercih ettim çünkü hızlı ve kolay paralelleştirme sağlıyor (bu birazdan önemli olacak), ağır işleri halletmek için "reqwest" ve "select" sandıklarından yararlanıyorum. Ve işte birkaç profesyonel ipucu: kullanıcı aracınızı döndürmeyi unutmayın, yönlendiricinizi doğru ayarlayın, bir proxy kullanın ve LÜTFEN onlara DDOS yapmayın.
Yukarıda gösterilmiştir: YellowPages'in boş sonuç sayfası.
Your script should be good to go now. But how can we elevate this even further? Let’s put our singular combined brain cell to work and ponder… “Do we need to sequentially request each page?” Absolutely not. YellowPages makes it remarkably easy for us to parallelize this process by providing the number of pages available for the query – hint, hint, wink, wink.
Yukarıda gösterilmiştir: YellowPages'in sonuç sayfasının altındaki sayfa sayısı.

Ancak bu paralelleştirme stratejisinde bir uyarı vardır: YellowPages 60'tan fazla sonuç sayfası olduğunu gösterse de, sonuçlarda 60'tan sonraki herhangi bir sayfaya erişmeye çalışmak işlenmeyecektir. Bu nedenle, paralelleştirmeniz için 60 olarak sabit bir üst sınır belirleyin. Yeterli bant genişliği ve bilgi işlem gücü olduğu varsayılırsa, her sonuç sayfası, sıralı modelde bir sayfayı kazımanızla aynı sürede kazınmalıdır.

Yukarıda gösterilmiştir: Çıkarılan YellowPages listeleme verilerine örnek.

Şimdi merak ediyor olabilirsiniz, bu tık tuzağı mıydı? "Milyoner" kısmının tüm bunlarla ne ilgisi var? Eğer yazdıklarımı takip ettiyseniz ve artık işlevsel bir betiğe sahipseniz, Kanada'daki her şehri teorik olarak yinelemenizi ve YellowPages'ten söz konusu şehirdeki bir sorgudan her işletme listesini çekmenizi hiçbir şeyin engellemediğini kişisel olarak doğrulayabilirim ya da doğrulayamam. Bu veriler, uygun şekilde artırıldığı takdirde milyonlarca dolarlık bir değere sahip olabilir, ancak aynı zamanda dizinlerinde artık erişebileceğiniz milyonlarca işletme de var.

YellowPages geçmiş bir dönemin anılarını çağrıştırıyor olabilir, ancak B2B potansiyel müşteri yaratma potansiyeli dijital ortamda gizli bir hazine olmaya devam ediyor. Statik web arayüzünün tuhaflıklarında gezinerek, bu görünüşte modası geçmiş platformdan veri kazımak, çok çeşitli iş potansiyellerini ortaya çıkarır. YellowPages'in göz ardı edilen ve yeterince kullanılmayan doğası, onu eşsiz bir fırsat haline getiriyor.

Tek amacım bu blog yazısının sizi "asıl hazine yol boyunca edindiğimiz arkadaşlardı" diye düşünmeye sevk etmemesi - umarım bu hem özellikle çoğumuzun hafife aldığı beceri setiyle var olan benzersiz fırsatları göstermiştir hem de umarım bu alanda deneyimli olanlarınız için ilginç bir okuma olmuştur ve olmayanlarınız için de fikir vermiştir.

Her zaman olduğu gibi, güvende kalın, koruma kullanın ve Tanrı aşkına... FBI'ın peşinize düşeceği bir şey yapmayın - bu durumda RCMP olacaktır.

Yukarıda gösterilmiştir: Kanada'da FBI'ın muadili olan RCMP.