Semalt: Python ilə Veb Scraping

Wi-Fi olmadığınız zaman bu dəhşətli məqamlardan birini keçirdinizmi? Əgər belədirsə, onda kompüterinizdə etdiklərinizin şəbəkəyə nə qədər etibar etdiyini başa düşdünüz. Qeyri-adi vərdişdən kənar, dostlarınızın İnstaqram şəkillərinə baxaraq, tvitlərini oxumaqla yanaşı, elektron poçtlarınızı yoxlayırsınız.
Bu qədər kompüter işi veb proseslərini əhatə etdiyindən, proqramlarınız da onlayn olaraq əldə edə bilsəydi çox rahat olardı. Veb kazıma üçün vəziyyət belədir. İnternetdən məzmunu yükləmək və emal etmək üçün bir proqramdan istifadə etmək daxildir. Məsələn, Google veb səhifələrini axtarış motorları üçün indeksləşdirmək üçün müxtəlif kazıma proqramlarından istifadə edir.

İnternetdən məlumat qırdığın bir çox yolu var. Bu metodların bir çoxu Python və R. kimi müxtəlif proqramlaşdırma dillərinin əmrini tələb edir. Məsələn, Python ilə, İstəklər, Gözəl şorba, Webbrowser və Selenium kimi bir sıra modullardan istifadə edə bilərsiniz.
'İstəklər' modulu, bağlantı problemləri, şəbəkə səhvləri və məlumatların sıxılması kimi çətin məsələlərdən narahat olmayaraq, faylları internetdən asanlıqla yükləmək şansı verir. Mütləq Python ilə birlikdə olmur və buna görə əvvəlcə onu quraşdırmalı olacaqsınız.
Python'un 'urllib2' modulunun istifadəsini çətinləşdirən bir çox fəsad olduğu üçün modul hazırlanmışdır. Qurmaq həqiqətən asandır. Etməli olduğunuz şey əmr satırından pip quraşdırma tələblərini işə salmaqdır. Bundan sonra modulun düzgün qurulduğundan əmin olmaq üçün sadə bir test etməlisiniz. Bunu etmək üçün interaktiv qabığa '>>> idxal tələbləri' yaza bilərsiniz. Heç bir səhv mesajı görünmürsə, quraşdırma uğurlu oldu.
Bir səhifə yükləmək üçün 'request.get ()' funksiyasını başlatmalısınız. Funksiya yükləmək üçün URL-dən bir simli götürür və sonra 'cavab' obyekti qaytarır. Bu, sorğunuz üçün qaytarılmış veb server cavabını ehtiva edir. Əgər sorğusunuz yerinə yetərsə, yüklənmiş veb səhifə cavab obyektləri mətn dəyişənində bir simvol kimi saxlanılır.
Cavab obyekti ümumiyyətlə yüklənmənin uğurlu olub olmadığını öyrənmək üçün istifadə edə biləcəyiniz bir status kodu atributuna malikdir. Eynilə, cavab obyektində 'yüksəltmək üçün_status ()' metodunu çağıra bilərsiniz. Faylın yüklənməsi zamanı hər hansı bir səhv baş verərsə bu istisna yaradır. Bir proqramın pis bir yüklənmə halında dayandığına əmin olmaq üçün əla bir yoldur.

Buradan yüklədiyiniz veb sənədinizi standart funksiyalardan istifadə edərək sabit diskdə saxlaya bilərsiniz, "açıq ()" və "yaz ()". Bununla birlikdə, mətnin Unicode kodlaşdırmasını saxlamaq üçün mətn məlumatlarını ikili məlumatlarla əvəz etməlisiniz.
Məlumatları bir fayla yazmaq üçün 'iter_content ()' metodu ilə 'for' loop istifadə edə bilərsiniz. Bu üsul, döngə vasitəsilə hər iterasiya barədə məlumatların çox hissəsini qaytarır. Hər toplu baytdadır və hər toplunun neçə baytdan ibarət olacağını göstərməlisiniz. Yazı qurduqdan sonra, faylı bağlamaq üçün 'close ()' çağırın və işiniz artıq bitdi.