Semalt: Python yordamida veb-skrabing

Sizda Wi-Fi mavjud bo'lmagan dahshatli lahzalardan birida bo'lganmisiz? Agar shunday bo'lsa, unda siz kompyuterda qilayotgan narsalaringizning ko'p qismi tarmoqqa tayanishini anglab etdingiz. Odatdagidek, siz o'zingizning elektron pochta xabarlaringizni tekshirib ko'rishingiz, do'stingizning Instagram-dagi fotosuratlarini ko'rishingiz va ularning tvitlarini o'qishingiz mumkin.

Kompyuterda ishlash jarayoni veb-jarayonlar bilan bog'liq bo'lganligi sababli, agar sizning dasturlaringiz ham Internetga kirsa juda qulay bo'ladi. Bu veb-qirqish uchun ham shunday . Bu veb-tarkibni yuklab olish va qayta ishlash uchun dasturdan foydalanishni o'z ichiga oladi. Masalan, Google veb-sahifalarni qidirish mexanizmi uchun indekslash uchun turli xil qirqish dasturlaridan foydalanadi.

Internetdan ma'lumotlarni qirib tashlashning ko'plab usullari mavjud. Ushbu usullarning aksariyati Python va R kabi dasturlash tillarining buyruqlarini talab qiladi. Masalan, Python yordamida siz so'rovlar, chiroyli sho'rvalar, veb-brauzerlar va seleniy kabi bir qator modullardan foydalanishingiz mumkin.

"Talablar" moduli sizga ulanish muammolari, tarmoq xatolari va ma'lumotlarni siqish kabi qiyin muammolar haqida tashvishlanmasdan Internetdan fayllarni osongina yuklab olish imkoniyatini beradi. Bu Python bilan birga kelishi shart emas va shuning uchun siz avval uni o'rnatishingiz kerak bo'ladi.

Modul Python 'urllib2' modulida juda ko'p asoratlarga ega, chunki undan foydalanishni qiyinlashtiradi. O'rnatish juda oson. Bajarishingiz kerak bo'lgan narsa buyruq satridan pip o'rnatish so'rovlarini bajarishdir. Keyin modulning to'g'ri o'rnatilganligini tekshirish uchun siz oddiy sinovdan o'tishingiz kerak. Buning uchun siz interfaol qobiqga '>>> import so'rovlarini yozishingiz mumkin. Agar xato haqida xabarlar paydo bo'lmasa, o'rnatish muvaffaqiyatli amalga oshirildi.

Sahifani yuklab olish uchun 'request.get ()' funktsiyasini boshlash kerak. Funktsiya yuklab olish uchun URL satrini oladi va keyin "javob" ob'ektini qaytaradi. Bu sizning so'rovingiz uchun qaytarilgan veb-server javobini o'z ichiga oladi. Agar sizning so'rovingiz amalga oshsa, u holda yuklab olingan veb-sahifa javob ob'ekti matn o'zgaruvchisida satr sifatida saqlanadi.

Javob ob'ekti odatda status kodi atributiga ega bo'lib, siz yuklanishingiz muvaffaqiyatli yoki yo'qligini aniqlash uchun foydalanishingiz mumkin. Xuddi shunday, siz javob ob'ektida 'oshirish_for_status ()' usulini chaqirishingiz mumkin. Agar faylni yuklab olishda biron bir xato bo'lsa, bu istisno yuzaga keladi. Bu yomon yuklab olish paytida dastur to'xtashiga ishonch hosil qilishning ajoyib usuli.

Bu yerdan, siz "ochish ()" va "yozish ()" funktsiyalaridan foydalanib yuklab olingan veb-faylingizni qattiq diskka saqlashingiz mumkin. Biroq, matnning Unicode kodlashini saqlab qolish uchun siz matnli ma'lumotlarni ikkilik ma'lumotlarga almashtirishingiz kerak bo'ladi.

Ma'lumotni faylga yozish uchun 'for' loopini 'iter_content ()' usuli bilan ishlatishingiz mumkin. Ushbu usul har bir iteratsiya bo'yicha ma'lumotlarning katta qismini pastadir orqali qaytaradi. Har bir hajm baytda va har bir bulkada qancha bayt borligini aniqlab olishingiz kerak. Yozishni tugatgandan so'ng, faylni yopish uchun 'close ()' ni chaqiring va sizning ishingiz tugadi.

mass gmail