


Mengikis Web dan Menghuraikan HTML dalam Python dengan Sup Cantik
Manfaatkan Kuasa Mengikis Web dengan Python dan Sup Cantik: Contoh Muzik MIDI
Internet ialah khazanah maklumat, tetapi mengaksesnya secara pengaturcaraan boleh menjadi mencabar tanpa API khusus. Pustaka Beautiful Soup Python menawarkan penyelesaian yang berkuasa, membolehkan anda mengikis dan menghuraikan data terus daripada halaman web.
Mari kita terokai ini dengan mengikis data MIDI untuk melatih rangkaian saraf Magenta bagi menjana muzik gaya Nintendo klasik. Kami akan mendapatkan fail MIDI daripada Arkib Muzik Permainan Video (VGM).
Menyediakan Persekitaran Anda
Pastikan anda memasang Python 3 dan pip. Adalah penting untuk mencipta dan mengaktifkan persekitaran maya sebelum memasang kebergantungan:
pip install requests==2.22.0 beautifulsoup4==4.8.1
Kami menggunakan Beautiful Soup 4 (Beautiful Soup 3 tidak lagi diselenggara).
Mengikis dan Menghuraikan dengan Permintaan dan Sup Cantik
Mula-mula, mari ambil HTML dan buat objek BeautifulSoup:
import requests from bs4 import BeautifulSoup vgm_url = 'https://www.vgmusic.com/music/console/nintendo/nes/' html_text = requests.get(vgm_url).text soup = BeautifulSoup(html_text, 'html.parser')
Objek soup
membenarkan navigasi HTML. soup.title
memberikan tajuk halaman; print(soup.get_text())
memaparkan semua teks.
Menguasai Kuasa Sup Cantik
Kaedah find()
dan find_all()
adalah penting. soup.find()
menyasarkan elemen tunggal (mis., soup.find(id='banner_ad').text
mendapat teks iklan sepanduk). soup.find_all()
berulang melalui berbilang elemen. Contohnya, ini mencetak semua URL hiperpautan:
for link in soup.find_all('a'): print(link.get('href'))
find_all()
menerima hujah seperti ungkapan biasa atau atribut teg untuk penapisan yang tepat. Rujuk dokumentasi Beautiful Soup untuk ciri lanjutan.
Menavigasi dan Menghuraikan HTML
Sebelum menulis kod penghuraian, periksa HTML yang diberikan penyemak imbas. Setiap halaman web adalah unik; pengekstrakan data selalunya memerlukan kreativiti dan percubaan.
Matlamat kami adalah untuk memuat turun fail MIDI yang unik, tidak termasuk pendua dan campuran semula. Alat pembangun penyemak imbas (klik kanan, "Periksa") membantu mengenal pasti elemen HTML untuk akses program.
Mari kita gunakan find_all()
dengan ungkapan biasa untuk menapis pautan yang mengandungi fail MIDI (tidak termasuk yang mempunyai tanda kurung dalam nama mereka):
Buat nes_midi_scraper.py
:
import re import requests from bs4 import BeautifulSoup vgm_url = 'https://www.vgmusic.com/music/console/nintendo/nes/' html_text = requests.get(vgm_url).text soup = BeautifulSoup(html_text, 'html.parser') if __name__ == '__main__': attrs = {'href': re.compile(r'\.mid$')} tracks = soup.find_all('a', attrs=attrs, string=re.compile(r'^((?!\().)*$')) count = 0 for track in tracks: print(track) count += 1 print(len(tracks))
Ini menapis fail MIDI, mencetak teg pautannya dan memaparkan jumlah kiraan. Lari dengan python nes_midi_scraper.py
.
Memuat turun Fail MIDI
Sekarang, mari muat turun fail MIDI yang ditapis. Tambahkan fungsi download_track
pada nes_midi_scraper.py
:
pip install requests==2.22.0 beautifulsoup4==4.8.1
Fungsi ini memuat turun setiap trek dan menyimpannya dengan nama fail yang unik. Jalankan skrip dari direktori simpan yang anda inginkan. Anda harus memuat turun kira-kira 2230 fail MIDI (bergantung pada kandungan semasa tapak web).
Meneroka Potensi Web
Pengikisan web membuka pintu kepada set data yang luas. Ingat bahawa perubahan halaman web boleh memecahkan kod anda; pastikan skrip anda dikemas kini. Gunakan perpustakaan seperti Mido (untuk pemprosesan data MIDI) dan Magenta (untuk latihan rangkaian saraf) untuk membina asas ini.
Atas ialah kandungan terperinci Mengikis Web dan Menghuraikan HTML dalam Python dengan Sup Cantik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.

Adakah cukup untuk belajar Python selama dua jam sehari? Ia bergantung pada matlamat dan kaedah pembelajaran anda. 1) Membangunkan pelan pembelajaran yang jelas, 2) Pilih sumber dan kaedah pembelajaran yang sesuai, 3) mengamalkan dan mengkaji semula dan menyatukan amalan tangan dan mengkaji semula dan menyatukan, dan anda secara beransur-ansur boleh menguasai pengetahuan asas dan fungsi lanjutan Python dalam tempoh ini.

Python lebih baik daripada C dalam kecekapan pembangunan, tetapi C lebih tinggi dalam prestasi pelaksanaan. 1. Sintaks ringkas Python dan perpustakaan yang kaya meningkatkan kecekapan pembangunan. 2. Ciri-ciri jenis kompilasi dan kawalan perkakasan meningkatkan prestasi pelaksanaan. Apabila membuat pilihan, anda perlu menimbang kelajuan pembangunan dan kecekapan pelaksanaan berdasarkan keperluan projek.

Python dan C masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1) Python sesuai untuk pembangunan pesat dan pemprosesan data kerana sintaks ringkas dan menaip dinamik. 2) C sesuai untuk prestasi tinggi dan pengaturcaraan sistem kerana menaip statik dan pengurusan memori manual.

Pythonlistsarepartofthestandardlibrary, sementara

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.

Aplikasi Python dalam pengkomputeran saintifik termasuk analisis data, pembelajaran mesin, simulasi berangka dan visualisasi. 1.Numpy menyediakan susunan pelbagai dimensi yang cekap dan fungsi matematik. 2. Scipy memanjangkan fungsi numpy dan menyediakan pengoptimuman dan alat algebra linear. 3. Pandas digunakan untuk pemprosesan dan analisis data. 4.Matplotlib digunakan untuk menghasilkan pelbagai graf dan hasil visual.

Aplikasi utama Python dalam pembangunan web termasuk penggunaan kerangka Django dan Flask, pembangunan API, analisis data dan visualisasi, pembelajaran mesin dan AI, dan pengoptimuman prestasi. 1. Rangka Kerja Django dan Flask: Django sesuai untuk perkembangan pesat aplikasi kompleks, dan Flask sesuai untuk projek kecil atau sangat disesuaikan. 2. Pembangunan API: Gunakan Flask atau DjangorestFramework untuk membina Restfulapi. 3. Analisis Data dan Visualisasi: Gunakan Python untuk memproses data dan memaparkannya melalui antara muka web. 4. Pembelajaran Mesin dan AI: Python digunakan untuk membina aplikasi web pintar. 5. Pengoptimuman Prestasi: Dioptimumkan melalui pengaturcaraan, caching dan kod tak segerak
