Web kazıma, web sayfalarından veri toplamanın etkili bir yoludur, veri biliminde etkili bir araç haline gelmiştir. Güzel bir grup gibi web kazıma için mevcut olan çeşitli python kitaplıkları ile bir veri bilimcinin çalışması optimum hale gelir. Scrapy, verileri çıkarmak, işlemek ve depolamak için kullanılan güçlü bir web çerçevesidir. Bu yazıda, hurda kullanarak bir web tarayıcısını nasıl yapabileceğimizi öğreneceğiz, bu blogda tartışılan konular şunlardır:
Scrapy, python ile yazılmış ücretsiz ve açık kaynaklı bir web tarama çerçevesidir. Başlangıçta web kazıma yapmak için tasarlanmıştır, ancak API'leri kullanarak veri çıkarmak için de kullanılabilir. Scrapinghub ltd tarafından yapılmaktadır.
Scrapy, web sayfalarının indirilmesi, verilerin veritabanlarında işlenmesi ve depolanması söz konusu olduğunda eksiksiz bir pakettir.
Bir web sitesini kazımanın birden fazla yolu ile web kazıma söz konusu olduğunda bir güç merkezi gibidir. Scrapy, bir dakikadan daha kısa bir sürede birden çok sayfayı veya bir grup URL'yi kazıyarak daha büyük görevleri kolaylıkla halleder. Eşzamanlılığı sağlamak için eşzamansız olarak çalışan bir bükücü kullanır.
Genel ve derin tarayıcılar oluşturmamıza izin veren örümcek sözleşmeleri sağlar. Scrapy ayrıca bir örümcek içinde verilerdeki değerleri değiştirmek gibi çeşitli işlemleri gerçekleştirebilen işlevler oluşturmak için öğe boru hatları sağlar.
Web gezgini, web'deki belgeleri otomatik olarak arayan bir programdır. Öncelikle otomatik tarama için tekrarlayan eylemler için programlanmıştır.
Bir web tarayıcısı, bir kütüphaneciye oldukça benzer. Web'deki bilgileri arar, bilgileri kategorilere ayırır ve ardından taranan bilgilerin uygun şekilde geri alınması ve depolanması için bilgileri indeksler ve kataloglar.
Tarayıcı tarafından gerçekleştirilecek işlemler önceden oluşturulur, ardından tarayıcı tüm bu işlemleri otomatik olarak gerçekleştirerek bir indeks oluşturur. Bu dizinlere bir çıktı yazılımı ile erişilebilir.
Bir web tarayıcısının kullanılabileceği çeşitli uygulamalara bir göz atalım:
Sisteminize scrapy kurmak için, onu özel bir sanal ortama kurmanız önerilir. Kurulum python'daki diğer paketlere oldukça benzer şekilde çalışır, conda ortamını kullanıyorsanız, scrapy'yi kurmak için aşağıdaki komutu kullanın:
conda install -c conda-forge scrapy
pip install scrapy
İlk hurda projenizi başlatmak için, dosyalarınızı kaydetmek istediğiniz dizine veya konuma gidin ve aşağıdaki komutu çalıştırın.
scrapy startproject projectname
items.py: proje öğeleri tanım dosyası
middlewares.py: proje ara yazılım dosyası
pipelines.py: proje ardışık düzenleri dosyası
settings.py: proje ayarları dosyası
Örümcekler, tanımladığımız ve web'den bilgi toplamak için kullandığımız sınıflardır. Scrapy.Spider altsınıfını almalı ve yapılacak ilk istekleri tanımlamalısınız.
Örümceğinizin kodunu ayrı bir python dosyasına yazarsınız ve projenizdeki projectname / spiders dizinine kaydedersiniz.
quotes_spider.py
import scrapy class QuotesSpider(scrapy.Spider): name = "quotes" def start_request(self): urls = [ '<a href="http://quotes.toscrape.com/page/1/">http://quotes.toscrape.com/page/1/</a>', http://quotes.toscrape.com/page/2/, ] for url in urls: yield scrapy.Request(url=url , callback= self.parse) def parse(self, response): page = response.url.split("/")[-2] filename = 'quotes-%s.html' % page with open(filename, 'wb') as f: f.write(response.body) self.log('saved file %s' % filename)
Şimdiye kadar örümcek herhangi bir veri çıkarmadı, sadece tüm HTML dosyasını kaydetti. Çılgın bir örümcek, genellikle sayfadan çıkarılan verileri içeren birçok sözlük oluşturur. Verileri çıkarmak için geri aramada getiri anahtar kelimesini python'da kullanırız.
import scrapy class QuotesSpider(scrapy.Spider): name = "quotes" start_urls = [ http://quotes.toscrape.com/page/1/', http://quotes.toscrape.com/page/2/, ] def parse(self, response): for quote in response.css('div.quote'): yield { 'text': quote.css(span.text::text').get(), 'author': quote.css(small.author::text')get(), 'tags': quote.css(div.tags a.tag::text').getall() }
Çıkarılan verileri depolamanın en basit yolu, dışa aktarılan feed'leri kullanmaktır, verilerinizi depolamak için aşağıdaki komutu kullanın.
scrapy crawl quotes -o quotes.json
Bu bizi, bir web sitesini kazımak ve verileri bir JSON dosyasına çıkarmak için python'da scrapy kullanarak bir web tarayıcısını nasıl yapabileceğimizi öğrendiğimiz bu makalenin sonuna getiriyor. Umarım bu eğitimde sizinle paylaşılan her şeyden eminsinizdir.
Yapay Zeka, DevOps, Etik Hacking gibi piyasanın en trend teknolojileri hakkında daha fazla makaleye göz atmak isterseniz, Edureka'nın resmi sitesine bakabilirsiniz.
Bu dizideki Python ve Veri Biliminin diğer çeşitli yönlerini açıklayacak diğer makalelere dikkat edin.
15. Python ve C ++
17. Python Bilimi
20. Python Temelleri
32. Python 3.8
34. Python Eğitimi
İlk olarak 6 Eylül 2019'da https://www.edureka.co adresinde yayınlandı .
Büyük Çevrimiçi Açık Kurs (MOOC) İkilemi Yol haritasını paylaşmadan önce, doğru materyalleri bulmanıza yardımcı olacak bazı kritik ipuçlarını paylaşmak istiyorum. Halihazırda, bilgisayar bilimlerinde yüksek kaliteli çevrimiçi öğrenim arayan öğrencilerin karşılaştığı en büyük ikilemlerden biri, kaynakların çok büyük olması.
Pandalar ve Numpy, veri analizi ve manipülasyonu için kullanılan en popüler iki Python kütüphanesidir. Pandalar birçok pratik ve kullanışlı işlevle donatılmıştır.
Amerikalılar pratikte bağımsızlık soluyor. En azından fikri.
Bu meditasyonlar Bilimsel araştırma ve Vaka çalışmaları ile desteklenmektedir - Buraya tıklayın ve daha fazlasını öğrenin! İnsanların kendilerini etkili bir şekilde tezahür ettirme ve iyileştirme kapasitesine ve gücüne sahip olduğu her zaman doğru olmuştur. Sadece seçim yapmalarını ve nasıl yapacaklarını öğrenmelerini gerektirdiğini biliyorum.
Bu senaryoyu ele aldığımızda: planlarımızı parçalayan düşmanlarla mücadele ediyoruz. Hasar verildi ve durdurulamaz görünüyorlar.
Bugün bazı büyük haberleri paylaşmaktan heyecan duyuyoruz - Sphere, Twitter tarafından satın alındı! İnsanları topluluk aracılığıyla birbirine yakınlaştırma misyonumuzu hızlandırmak için katıldık. Bu noktaya kadar uzun ve heyecan verici bir yolculuk oldu.
"Yıldızlarla Dans Etmek" ünlüsü Mel C, kendisini son iki sırada bulduktan sonra şok edici "Grease" Night elemesinden dolayı "boşverdi".
'Vanderpump Kuralları'ndan Lala Kent daha önce Randall Emmett'in kendisini aldattığını göremediğini söylemişti. Ayrıca onun en iyi arkadaşı olduğunu söyledi.
Eski '90 Day Nişanlısı' yıldızı Varya Malina, Geoffrey Paschel ile birlikte olduğunu doğruladı ve onun için toplandı ve takipçilerinden maddi yardım istedi.
Colin Powell ve eşi Alma Powell, neredeyse altmış yıldır evlilerdi. Çiftin evliliği gerçekten zaman testinden geçti.
Facebook'ta adınızı değiştirmek ister misiniz? Sadece birkaç basit adımda yapmak kolaydır.
Her zaman 10.000 adımlık bu keyfi günlük hedefin gerisinde kalıyorsanız, iyi haberlerimiz var. Daha az adım atarsanız sağlığınız da aynı derecede fayda sağlayabilir.
Garden State, ABD'de kendi gazınızı pompalamanın yasa dışı olduğu tek eyalettir. Ne oluyor?
Bu arada, alacakaranlıkta ve dolunayda araba kullanmak da size bir iyilik yapmıyor.
Akış hizmetleri tüm bir sezonu bir kerede düşürdüğünde ortaya çıkan konulardan biri, formatın bireysel bölüm fikrini ortadan kaldırıp kaldırmayacağı tartışmasıdır. Kesintisiz izleme çağında, içerik oluşturucular, izleyicilerinin bir sonraki bölüme neredeyse hemen gitme ihtimalinin yüksek olduğunu biliyorlar ve sonuç olarak, bir şovun tekil bölümlerinin, savaşın üzerinde duran tekil bölümleri fikri, bütün bir hikaye oluşturmaktan daha az önemli.
Fotoğraf: AP Leslie Jones Çarşamba günü Conan O'Brien'a "bir nevi" gördüğü gizli erkek arkadaşını açıp, "Bu bir sır, bu yüzden herkesin onu rahatsız etmesini istemiyorum, biliyorsun ne yaptım? Ben mi söylüyorum? ”49 yaşındaki komedyen, canlı televizyonda görünmesi ve doğrudan onun hakkında sorulması olmasaydı, ilk başta erkeğini tartışmayacağını bile açıkladı - bu, açıkta ilişkiler. "Televizyonda oturup 'Ah, aradığım türden bir adam ...' gibi olmak istemiyorum ve sonra onunla konuşacağım ve o 'Evet, seni duydum Jones, bu tür bir adam arıyorum ”dedi.
Artık yönetmen Taika Waititi, üçüncü Thor filmi Thor: Ragnarok'u yönetmek için gemide olduğuna göre, film hakkında çok daha fazla şey duymaya başlıyoruz. Hulk'un Thor'a katılacağına dair söylentiler duyduk ve görünüşe göre bu doğru, çünkü yeni bir rapor bir sürü başka bilgiyle birlikte bunu doğruluyor.
Brandon Russell (Pinellas İlçe Hapishanesi) Adam, ülkedeki en tehlikeli terör topluluklarından birinin üyesi olmasına rağmen; nasıl bomba yapılacağını bilmesine rağmen; bomba yapım malzemelerine sahip olduğunu bilerek; kolluk kuvvetlerinin, İç Güvenlik uzmanlarının ve Ordu müfettişlerinin “Amerika'nın ulusal güvenliğe yönelik en büyük tehdidi” olarak tanımladıkları her özelliği sergiledikten sonra bile - federal bir yargıç Cuma günü neo-Nazi Brandon Russell'ı tahvil karşılığında serbest bıraktı çünkü yargıç, Russell'ın kimse için tehlike oluşturduğuna dair hiçbir kanıt görmemişti, ama daha çok Russell'ın beyaz olması nedeniyle.
Maggie Gyllenhaal ve Dakota Johnson Londra'daki bir galada poz veriyor, Vanessa Hudgens LA'deki spor salonundan ayrılıyor, Christian Siriano 'Project Runway' 19. sezonu ve daha fazlasını kutlamak için NYC'de. Hollywood'dan New York'a ve aradaki her yere, en sevdiğiniz yıldızların neler yaptığını görün
Utanmaz mezunu Emma Kenney, Showtime dizisinde Emmy Rossum ile çalışma deneyimi hakkında konuştu.
HIV pozitif ve kanserden kurtulan Javier Muñoz, PEOPLE'a “Alınma şansı yoktu” diyor.
Rachael Ray Extra'da "Pek çok insan bana yazdı ve ulaştı ve bizim de çok şey kaybettiğimizi söyledi" dedi.