ms ms ms ms en ms ms ms id id id id ms id id id id id id id en
Ahli Semalt: Python dan BeautifulSoup. Mengikis Tapak Dengan Kemudahan
Semasa melakukan analisis data atau projek pembelajaran mesin, anda mungkin perlu mengikis laman web untuk mendapatkan data yang diperlukan dan menyelesaikan projek anda. Bahasa pengaturcaraan Python mempunyai koleksi alat dan modul yang kuat yang dapat digunakan untuk tujuan ini. Sebagai contoh, anda boleh menggunakan modul BeautifulSoup untuk menguraikan HTML.
Di sini, kita akan melihat BeautifulSoup dan mengetahui mengapa ia kini digunakan secara meluas dalam mengikis web .
- Ini menyediakan pelbagai kaedah untuk navigasi, pencarian dan pengubahsuaian pokok parsi yang mudah sehingga membolehkan anda membedah dokumen dengan mudah dan mengekstrak semua yang anda perlukan tanpa menulis terlalu banyak kod.
- Secara automatik menukar dokumen keluar ke UTF-8 dan dokumen masuk ke Unicode. Ini bermaksud anda tidak perlu risau tentang pengekodan dengan syarat bahawa dokumen tersebut telah menentukan pengekodan atau Sup Indah dapat mengesannya secara automatik.
- BeautifulSoup dianggap unggul daripada pengurai Python yang popular seperti html5lib dan lxml. Ia membolehkan mencuba strategi penghuraian yang berbeza. Satu kelemahan modul ini adalah bahawa ia memberikan lebih banyak fleksibiliti dengan mengorbankan kelajuan.
Apa yang anda perlukan untuk mengikis laman web dengan BeautifulSoup?
Untuk mula bekerja dengan BeautifulSoup, anda perlu menyediakan persekitaran pengaturcaraan Python (sama ada berasaskan tempatan atau pelayan) pada mesin anda. Python biasanya dipasang di OS X, tetapi jika anda menggunakan Windows, anda perlu memuat turun dan memasang bahasa dari laman web rasmi.
Anda harus memasang modul BeautifulSoup dan Requests.
Akhir sekali, menjadi biasa dan selesa bekerja dengan penandaan dan struktur HTML sememangnya berguna kerana anda akan menggunakan data bersumber dari web.
Mengimport Permintaan dan perpustakaan BeautifulSoup
Dengan persekitaran pengaturcaraan Python yang disiapkan dengan baik, anda kini dapat membuat fail baru (misalnya menggunakan nano) dengan nama apa pun yang anda suka.
Perpustakaan Requests membolehkan anda menggunakan HTTP bentuk yang dapat dibaca oleh manusia dalam program Python anda sementara BeautifulSoup menyelesaikan proses mengikis dengan lebih cepat. Anda boleh menggunakan penyataan import untuk mendapatkan kedua-dua perpustakaan.
Cara mengumpul dan menghuraikan laman web
Gunakan kaedah request.get () untuk mengumpulkan URL laman web dari mana anda ingin mengekstrak data. Seterusnya, buat objek BeautifulSoup atau parse tree. Objek ini mengambil dokumen dari Requests sebagai argumennya dan kemudian menghuraikannya. Dengan halaman yang dikumpulkan, dihuraikan dan disiapkan sebagai objek BeautifulSoup, anda kemudian dapat meneruskan untuk mengumpulkan data yang anda perlukan.
Mengambil teks yang dikehendaki dari halaman web yang dihuraikan
Setiap kali anda ingin mengumpulkan data web, anda perlu mengetahui bagaimana data tersebut dijelaskan oleh Model Objek Dokumen (DOM) halaman web. Di penyemak imbas web anda, klik kanan (jika menggunakan Windows), atau klik CTRL + (jika menggunakan macOS) pada salah satu item yang menjadi sebahagian daripada data yang menarik. Contohnya, jika anda ingin mengeluarkan data mengenai kewarganegaraan pelajar, klik salah satu nama pelajar. Menu konteks muncul, dan di dalamnya, anda akan melihat item menu yang serupa dengan Inspect Element (untuk Firefox) atau Inspect (untuk Chrome). Klik item menu Inspect yang berkaitan, dan alat pembangun web akan muncul di dalam penyemak imbas anda.
BeautifulSoup adalah alat penghuraian HTML yang sederhana namun kuat yang membolehkan anda banyak kelenturan semasa mengikis laman web . Semasa menggunakannya, jangan lupa untuk mematuhi peraturan umum seperti memeriksa Terma dan Syarat laman web; melawat laman web secara berkala dan mengemas kini kod anda mengikut perubahan yang dibuat di laman web ini. Mempunyai pengetahuan tentang mengikis laman web dengan Python dan BeautifulSoup, anda kini dapat dengan mudah mendapatkan data web yang anda perlukan untuk projek anda.