Back to Question Center
0

Semalt Mutaxassis: Python va BeautifulSoup. Qo'rqinchli joylar

1 answers:

Ma'lumotlarni tahlil qilish yoki kompyuterni o'rganish loyihalarini amalga oshirishda veb-saytlarni kerakli ma'lumotlar va loyihangizni bajarish. Python dasturlash tilida bu maqsadda ishlatilishi mumkin bo'lgan kuchli vositalar va modullar to'plami mavjud. Misol uchun, siz HTML-ni ajratish uchun BeautifulSoup modulidan foydalanishingiz mumkin.

Bu yerda biz "BeautifulSoup" ni ko'rib chiqamiz va uning bugungi kunda keng tarqalganligi sababini bilib olamiz web-kazish .

BeautifulSoup funktsiyalari

- Bu oson navigatsiya, parse daraxtlarini qidirish va o'zgartirish uchun turli xil usullarni ta'minlaydi, shu bilan siz hujjatni osongina ajratib olishingiz va juda ko'p kod yozishdan - small store security camera.

- UTF-8 va qabul qilingan hujjatlarni Unicode-ga avtomatik ravishda o'zgartiradi. Bu shuni anglatadiki, agar hujjat kodlashni yoki Beautiful Soup ning autodetektikasini belgilashi mumkin bo'lsa, siz kodlash haqida tashvishlanishingiz kerak emas.

- BeautifulSoup html5lib va ​​lxml kabi boshqa mashhur Python ajraluvchilaridan ustun hisoblanadi. Turli xil tahlil strategiyalarini sinab ko'rishga imkon beradi. Biroq, bu modulning bir ahvoliga tushib qolish tezligidan ko'proq moslashuvchanlikni ta'minlaydi.

BeautifulSoup-ga saytni qanday qilib olib qo'yish kerak?

BeautifulSoup bilan ishlashni boshlash uchun, kompyuteringizda Python dasturiy muhiti (mahalliy yoki serverga asoslangan) bo'lishi kerak. Python odatda OS X-da oldindan o'rnatiladi, ammo Windows dan foydalansangiz, rasmiy veb-saytdan tilni yuklab olishingiz va o'rnatishingiz kerak.

Sizda BeautifulSoup va Requests modullari o'rnatilgan bo'lishi kerak.

Va nihoyat, veb-manbalardan olingan ma'lumotlar bilan ishlashni boshlaganingizdan so'ng, HTML yorlig'i va tuzilishi bilan tanish va qulay ish qilish foydali bo'ladi.

Importing Requests and BeautifulSoup libraries

Python dasturiy muhiti bilan yaxshi sozlangan, endi siz istagan har qanday nom bilan yangi fayl yaratishingiz mumkin (masalan nano foydalanib).

Talabalar kutubxonasi sizning Python dasturlari ichida inson tomonidan o'qiladigan formada HTTP foydalanish imkonini beradi, shuningdek, BeautifulSoup kazishma tezroq bajariladi. Ikkala kutubxonani olish uchun import buyrug'idan foydalanishingiz mumkin.

Veb-sahifani qanday yig'ish va tahlil qilish

So'rovlardan foydalaning. Ma'lumotlarni olishni istagan veb-sahifaning URL manzilini to'plash uchun get

usulini tanlang. Keyin, BeautifulSoup ob'ektini yaratish yoki daraxtni tahlil qilish. Ushbu ob'ekt so'rovlardan argument sifatida hujjatni oladi va keyin uni ajratadi. Sahifani yig'ish, tahlil qilish va BeautifulSoup obyekti sifatida sozlash bilan siz kerakli ma'lumotlarni to'plashni davom ettirishingiz mumkin.

Tahlil qilinadigan veb-sahifadan kerakli matnni olib tashlash

Veb-ma'lumotlarni to'plashni istagan har qanday vaqtda ushbu ma'lumotlarning veb-sahifaning Hujjat Ob'ekti Modeli (DOM). Veb-brauzeringizda qiziqishlaringiz ma'lumotlarini bir qismini tashkil etadigan narsalardan birini o'ng tugmasini bosing (agar Windows dan foydalansangiz) yoki CTRL + bosish (makosdan foydalansangiz). Misol uchun, agar siz talabalarning millati to'g'risida ma'lumotni olishni istasangiz, talabaning nomlaridan birini bosing. Kontekst menyusi ochiladi va uning ichida Inspek Element (Firefox uchun) yoki Inspect (Chrome uchun). Tegishli Inspect menyusini bosing va veb-ishlab chiquvchi vositalari brauzeringizda paydo bo'ladi.

BeautifulSoup veb-saytlarni tozalash moslashuvchanlikni ta'minlovchi sodda, ammo kuchli HTML tahriri vositasi. Uni foydalanganda veb-saytning shartlari va shartlarini tekshirish kabi umumiy eskirish qoidalarini kuzatishni unutmang; saytni muntazam ravishda qayta ko'rib chiqish va saytdagi o'zgarishlarni hisobga olgan holda kodingizni yangilash. Python va BeautifulSoup bilan veb-saytlarni qirib tashlash haqida bu ma'lumotga ega bo'lgach, endi siz loyihangiz uchun zarur bo'lgan veb-ma'lumotlarni osonlikcha olishingiz mumkin.

December 22, 2017