Semalt - Bagaimana Mengikis Halaman Web?

Beautiful Soup adalah perpustakaan Python yang banyak digunakan untuk mengikis laman web dengan membuat pokok parse dari dokumen XML dan HTML. Pengikisan laman web, teknik mengekstrak data dari laman web dan halaman, banyak digunakan dalam bidang analisis dan pengurusan data. Dalam kebanyakan kes, bahasa pengaturcaraan Python adalah prasyarat dalam sains data.

Python 3 mempunyai alat dan modul mengikis yang dapat anda gunakan untuk projek pengurusan data anda. Semasa berjalan sebagai Beautiful Soup 4, modul ini serasi dengan Python 3 dan Python 2.7. Modul Beautiful Soup 4 juga mampu mencipta pokok parse untuk sup tag yang tidak tertutup. Dalam tutorial ini, anda akan belajar bagaimana mengikis halaman dan menulis data yang dikikis ke fail CSV.

Bermula

Untuk memulakan, sediakan pelayan atau persekitaran pengkodan Python berasaskan tempatan pada PC anda. Anda juga harus memasang modul Beautiful Soup and Requests di mesin anda. Pengetahuan mengenai bekerja dengan kedua-dua modul juga merupakan prasyarat yang diperlukan. Keakraban dengan penandaan dan struktur HTML juga merupakan kelebihan tambahan.

Memahami data anda

Dalam konteks ini, data sebenar dari Galeri Seni Nasional akan digunakan untuk membantu anda memahami cara menggunakan Sup Indah 4. Galeri Seni Nasional terdiri daripada 120,000 karya yang dikerjakan oleh kira-kira 13,000 seniman. The Art berpusat di Washington DC, Amerika Syarikat.

Pengekstrakan data web dengan Beautiful Soup tidak begitu rumit. Contohnya, jika anda memusatkan perhatian pada huruf Z, tandakan dan catat nama pertama dalam senarai. Dalam kes ini, nama pertama adalah Zabaglia, Niccola. Untuk kesesuaian, nyatakan bilangan halaman dan nama artis terakhir di halaman tersebut.

Cara mengimport Permintaan dan perpustakaan Sup Indah

Untuk mengimport perpustakaan, aktifkan persekitaran pengaturcaraan Python 3 anda. Periksa untuk memastikan anda berada di direktori yang sama dengan persekitaran pengaturcaraan anda. Jalankan arahan berikut untuk memulakan. my_env / bin / aktifkan.

Buat fail baru dan mula mengimport perpustakaan Sup dan Permintaan Cantik. Perpustakaan permintaan akan membolehkan anda menggunakan HTTP dalam program Python anda dalam format yang boleh dibaca. Beautiful Soup, sebaliknya, berfungsi untuk mengikis halaman dengan cepat. Gunakan bs4 untuk mengimport Sup Cantik.

Cara mengumpul dan menghuraikan laman web

Menggunakan Permintaan mengumpulkan URL halaman pertama anda. URL halaman pertama akan diberikan ke halaman pemboleh ubah. Membina objek BeautifulSoup dari Requests dan menguraikan objek dari penghurai Python.

Dalam tutorial ini, tujuannya adalah untuk mengumpulkan pautan dan nama artis. Contohnya, anda boleh mengumpulkan tarikh dan kewarganegaraan artis. Untuk pengguna Windows, klik kanan pada nama pertama artis. Dalam kes ini, gunakan Zabaglia, Niccola. Untuk pengguna Mac OS, ketuk "CTRL" dan klik namanya. Klik menu "Inspect Element" yang muncul di skrin anda untuk mengakses alat pembangun web. Cetak nama artis untuk membuat Sup Indah mengurai pokok dengan cepat.

Mengeluarkan pautan bawah

Untuk membuang pautan bawah di laman web anda, periksa DOM dengan mengklik kanan elemen tersebut. Anda akan mengenal pasti bahawa pautan berada di bawah jadual HTML. Dengan menggunakan Beautiful Soup, gunakan "kaedah decompose" untuk mengeluarkan tag dari pokok parse.

Cara menarik kandungan dari teg

Anda tidak perlu mencetak keseluruhan tag pautan, gunakan Sup Indah untuk mengeluarkan bahan dari tag. Anda juga boleh menangkap URL yang dikaitkan dengan artis dengan menggunakan Beautiful Soup 4.

Menangkap data yang dikikis ke fail CSV

Fail CSV akan membolehkan anda menyimpan data berstruktur dalam teks biasa, format yang kebanyakannya digunakan untuk lembaran data. Pengetahuan mengenai pengendalian fail teks biasa di Python adalah disyorkan.

Pengekstrakan data web digunakan untuk mengikis halaman dan mendapatkan maklumat. Berhati-hatilah dengan laman web tempat anda memperoleh maklumat. Beberapa laman web dinamik menyekat pengekstrakan data web di laman web mereka. Untuk mengikis halaman dengan Beautiful Soup dan Python 3 semudah itu.