yardım etmek mi istiyorsunuz? İşte seçenekleriniz:","Crunchbase","Hakkımızda","Muhteşem destek için herkese teşekkürler!","Hızlı Bağlantılar","Ortaklık programı","ProxyScrape premium deneme","Çevrimiçi Proxy Denetleyicisi","Proxy türleri","Vekil ülkeler","Proxy usecases","Önemli","Çerez politikası","Sorumluluk Reddi","Gizlilik Politikası","Şartlar ve koşullar","Sosyal Medya","Facebook","LinkedIn","Twitter","Quora","Telgraf","Discord"," © Telif Hakkı 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belçika | KDV BE 0749 716 760"]}
Bu makale sizi iş ilanları için web kazıma işleminin nasıl yapılacağını açıklayan bir yolculuğa çıkaracak. Yani, iş piyasasındasınız ve en iyi işi bulmaya çalışıyorsunuz. Ama daha akıllıca oynamak istiyorsunuz, daha sert değil. Neden sizin için iş ilanlarını toplayacak ve ayrıştıracak bir web kazıyıcı oluşturmuyorsunuz? Bir kez ayarladığınızda, size güzel ve düzenli bir formatta veri zenginlikleri sağlayacaktır, böylece tekrar tekrar manuel olarak kontrol etmek zorunda kalmazsınız. Hadi başlayalım.
İş ilanları için web kazıma, birden fazla iş portalından otomatik olarak veri toplayan ve her bir web sitesinden veri alma sürenizi azaltan bir çözümdür. Size iş ilanlarının eksiksiz bir veritabanını sağlayabilecek böyle bir araca sahip olmak, görevinizi birkaç kat kolaylaştıracaktır. Tek yapmanız gereken size uygun olanları filtrelemek ve başvuru sürecine devam etmektir.
Yani, iş piyasasındasınız ve en iyi işi bulmaya çalışıyorsunuz. Ama daha zor değil, daha akıllıca oynamak istiyorsunuz. Neden sizin için iş ilanlarını toplayacak ve ayrıştıracak bir web kazıyıcı oluşturmuyorsunuz? Bir kez ayarladığınızda, size güzel ve düzenli bir formatta veri zenginlikleri sağlayacaktır, böylece tekrar tekrar manuel olarak kontrol etmek zorunda kalmazsınız. Hadi başlayalım.
[Yasal Uyarı! Birçok web sitesi, sayfalarından veri alınmasını kısıtlayabilir. Kullanıcılar, bilgileri nereden ve nasıl almaya çalıştıklarına bağlı olarak yasal sorunlara maruz kalabilirler. Bu nedenle, verilerini barındıran sitelere bakarken son derece dikkatli olmak gerekir. Örneğin, Facebook, Linked In ve Craiglist bazen sayfalarından veri alınmasına karşı çıkmaktadır. Yani eğer kazımak istiyorsanız, riski kendinize ait olmak üzere kazıyın].
Bu, indeed.com'dan "Veri Bilimi" ile ilgili işlerle ilgili bazı yararlı bilgileri çıkararak web kazımanın temellerini göreceğimiz çok basit bir makale olacak. İşleri birden çok kez manuel olarak güncelleyen harika bir program yazacağız. Bu kazıyıcıyı oluştururken çok kullanışlı olacak bazı yararlı kütüphaneler "requests" ve "BeautifulSoup "tur.
URL'nin yapılandırılma şekli önemlidir:
Bu URL yapısı, kazıyıcıyı oluşturmaya ve birden fazla sayfadan veri toplamaya devam ederken çok yardımcı olacaktır.
Chrome, sayfaya sağ tıklayıp inspect element seçeneğini kullanarak sayfanın HTML yapısını inceleyebilir. Sağ tarafta bir menü belirecek ve iç içe geçmiş öğe etiketlerini de gösterecek ve imlecinizi bu öğelerin üzerine getirdiğinizde ekranın o bölümünü vurgulayacaktır.
Bu makale için HTML hakkında etiketler, divler vb. gibi temel bilgileri bildiğinizi varsayıyorum, ancak neyse ki her şeyi bilmenize gerek yok. Sadece sayfa yapısını ve farklı bileşenlerin hiyerarşisini anlamanız gerekiyor.
Şimdi sayfa yapısını analiz ettik. Bu, seçtiğimiz verileri çekmek için bu bilgilere göre kod oluşturmamıza yardımcı olacaktır. İlk olarak kütüphanelerimizi içe aktararak başlayalım. Burada "zaman "ı da içe aktardığımıza dikkat edin; bu, bilgileri kazırken sitenin sunucusunu bunaltmamak için yardımcı olacaktır.
İstediğimiz her bir bilgiyi geri çekmek için önce tek bir sayfayı hedefleyeceğiz,
Prettify kullanmak, sayfanın HTML kodlamasına genel bir bakış elde etmeyi kolaylaştırır ve bunun gibi bir çıktı sağlar,
Artık ilgilendiğimiz sayfadaki tüm bilgiler "soup" değişkenimizde bulunmaktadır. Gerekli bilgileri yakalamak için çeşitli etiketler ve alt etiketler arasında yineleme yapmak üzere kodu daha fazla incelememiz gerekiyor.
Her iş ilanı için beş temel nokta vardır,
Sayfaya baktığımızda 15 adet iş ilanı olduğunu görüyoruz. Bu nedenle kodumuz da 15 farklı öğe üretmelidir. Ancak, kod bundan daha azını sağlarsa, sayfaya geri dönebilir ve neyin yakalanmadığını görebiliriz.
As can be seen, the entirety of each job posting is under <div> tags, with an attribute “class” = “row result.”
Further, we could also see that job titles are under <a> tags, with the attribute “title = (title)”. One can see the value of the tag’s attribute with tag[“attribute”], so I can use it to find each posting’s job title.
Özetleyecek olursak, göreceğimiz işlev aşağıdaki üç adımı içermektedir,
Bu kod aşağıdaki gibi bir çıktı verecektir,
Getting company names can be a bit tricky because most of them are appearing in <span> tags, with “class”:” company”. They are also housed in <span> tags with “class”:” result-link-source”.
Bu yerlerin her birinden şirket bilgilerini çıkarmak için if/else deyimlerini kullanacağız. Çıktı alınırken şirket adlarının etrafındaki beyaz boşlukları kaldırmak için, sonunda inputting.strip() kullanacağız.
Locations are located under the <span> tags. Span tags are sometimes nested within each other, such that the location text may sometimes be within “class”:”location” attributes, or nested in “itemprop”:”addressLocality”. However a simple for loop can examine all span tags for text and retrieve the necessary information.
Maaş, iş ilanlarından çıkarılması en zor kısımdır. Çoğu ilan maaş bilgisini hiç yayınlamazken, yayınlayanlarda ise bunu almak için birden fazla yer olabilir. Bu nedenle, birden fazla yerden birden fazla maaş alabilen bir kod yazmamız ve maaş bulunamazsa, maaş içermeyen tüm işler için bir yer tutucu "Hiçbir Şey Bulunamadı" değeri oluşturmamız gerekir.
Some salaries are under <nobr> tags, while others are under <div> tags, “class”:”sjcl” and are under separate div tags with no attributes. Try/except statement can be helpful while extracting this information.
Son iş, iş özetini almaktır. Ancak, her bir pozisyon için iş özetlerini almak mümkün değildir, çünkü bunlar belirli bir Indeed sayfasından HTML'ye dahil edilmemiştir. Sağlananlardan her iş hakkında bazı bilgiler alabiliriz. Bunun için Selenium'u kullanabiliriz.
But let’s first try this using python. Summaries are located under <span> tags. Span tags are nested within each other such that the location text is within “class”:” location” tags or nested in “itemprop”:” adressLocality”. However, using a simple for loop can examine all span tags for text to retrieve the necessary information.
Bu makalede, web kazımanın ne olduğunu ve Indeed'in web sayfalarından iş verilerini kazımanın pratik bir örneğini alarak günlük hayatımızda nasıl yardımcı olabileceğini gördük. Sayfalar dinamik olduğu için elde ettiğiniz sonuçların bunlardan farklı olabileceğini lütfen unutmayın, bu nedenle bilgiler zamanla değişmeye devam eder.
Web Kazıma, doğru şekilde ve gereksinimlerinize göre yapılırsa inanılmaz bir tekniktir. Her iş ilanının önemli beş yönünü ve bunların nasıl çıkarılacağını daha önce gördük. Bu kodu kendi başınıza denediğinizde, iş ilanlarının verilerini kazıyacaksınız ve işleri manuel olarak aramanıza gerek kalmayacak, ki bu harika bir şey. Aynı teknik diğer web sayfalarına da uygulanabilir, ancak yapıları farklı olabilir. Bu nedenle kişinin kodunu buna göre optimize etmesi gerekir. Ancak tüm temel bilgiler bu makalede ele alınmıştır, bu nedenle diğer sayfaları da kazımakta herhangi bir zorluk yaşanmayacaktır.