


Pertempuran crawler praktikal dalam Python: perangkak filem Maoyan
Dengan perkembangan pesat teknologi Internet, jumlah maklumat di Internet menjadi lebih besar dan lebih besar. Maoyan Movies, sebagai platform data filem domestik terkemuka, menyediakan pengguna dengan perkhidmatan maklumat filem yang komprehensif. Artikel ini akan memperkenalkan cara menggunakan Python untuk menulis perangkak filem Maoyan yang mudah untuk mendapatkan data berkaitan filem.
- Ikhtisar Crawler
Perangkak, atau perangkak web, ialah program yang memperoleh data Internet secara automatik. Ia boleh mengakses laman web sasaran dan mendapatkan data melalui pautan di Internet, merealisasikan pengumpulan maklumat secara automatik. Python ialah bahasa pengaturcaraan yang berkuasa yang digunakan secara meluas dalam pemprosesan data, perangkak web, carta visual, dll.
- Pelaksanaan crawler
Perangkak filem Maoyan dalam artikel ini akan dilaksanakan melalui permintaan Python dan perpustakaan BeautifulSoup. Permintaan ialah perpustakaan HTTP Python yang boleh menghantar permintaan halaman web dengan mudah, dan BeautifulSoup ialah perpustakaan penghuraian HTML Python yang boleh menghuraikan halaman HTML dengan cepat. Sebelum memulakan, anda perlu memasang kedua-dua perpustakaan ini.
2.1 Import perpustakaan
Buka editor Python dan buat fail Python baharu. Mula-mula anda perlu mengimport perpustakaan yang diperlukan:
import requests from bs4 import BeautifulSoup import csv
2.2 Buat pautan permintaan
Seterusnya buat pautan permintaan. Buka tapak web Filem Maoyan, cari pautan ke filem sasaran, dan salinnya. Di sini, ambil filem "Detektif Chinatown 3" sebagai contoh:
url = 'https://maoyan.com/films/1250952'
2.3 Hantar permintaan
Cipta pengepala dan tetapkan maklumat pengepala permintaan Maklumat pengepala secara amnya termasuk Ejen Pengguna, Perujuk, Kuki dan maklumat lain Mensimulasikan kaedah permintaan penyemak imbas sebenar yang mengakses halaman web. Di sini kita mengambil pelayar Chrome sebagai contoh. Kemudian gunakan perpustakaan permintaan untuk menghantar permintaan dan dapatkan kod HTML halaman web:
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;Win64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' } response = requests.get(url,headers=headers) html = response.text
2.4 Parse kod HTML
Tukar kod HTML yang diperolehi kepada objek BeautifulSoup, gunakan perpustakaan BeautifulSoup untuk menghuraikan kod HTML dan mendapatkan data sasaran. Memandangkan struktur kod HTML tapak web filem Maoyan agak kompleks, ia memerlukan pengetahuan yang mendalam tentang HTML dan BeautifulSoup.
soup = BeautifulSoup(html,'html.parser') movie_title = soup.find('h1',class_='name').text movie_info = soup.find_all('div',class_='movie-brief-container')[0] movie_type = movie_info.find_all('li')[0].text movie_release_data = movie_info.find_all('li')[2].text movie_actors = movie_info.find_all('li')[1].text movie_score = soup.find('span',class_='score-num').text
2.5 Menyimpan data
Selepas memproses halaman HTML, anda perlu menyimpan data yang diperoleh secara setempat. Pustaka csv Python digunakan di sini untuk menyimpan data. Pustaka csv boleh menukar data ke dalam format CSV untuk memudahkan pemprosesan seterusnya.
with open('movie.csv','w',newline='',encoding='utf-8-sig') as csvfile: writer = csv.writer(csvfile) writer.writerow(['电影名称',movie_title]) writer.writerow(['电影类型',movie_type]) writer.writerow(['上映日期',movie_release_data]) writer.writerow(['演员阵容',movie_actors]) writer.writerow(['豆瓣评分',movie_score])
Keseluruhan kod adalah seperti berikut:
import requests from bs4 import BeautifulSoup import csv url = 'https://maoyan.com/films/1250952' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;Win64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' } response = requests.get(url,headers=headers) html = response.text soup = BeautifulSoup(html,'html.parser') movie_title = soup.find('h1',class_='name').text movie_info = soup.find_all('div',class_='movie-brief-container')[0] movie_type = movie_info.find_all('li')[0].text movie_release_data = movie_info.find_all('li')[2].text movie_actors = movie_info.find_all('li')[1].text movie_score = soup.find('span',class_='score-num').text with open('movie.csv','w',newline='',encoding='utf-8-sig') as csvfile: writer = csv.writer(csvfile) writer.writerow(['电影名称',movie_title]) writer.writerow(['电影类型',movie_type]) writer.writerow(['上映日期',movie_release_data]) writer.writerow(['演员阵容',movie_actors]) writer.writerow(['豆瓣评分',movie_score])
- Ringkasan
Artikel ini memperkenalkan cara menggunakan permintaan Python dan perpustakaan BeautifulSoup untuk melaksanakan filem Maoyan crawler. Dengan menghantar permintaan rangkaian, menghuraikan kod HTML, menyimpan data dan langkah lain, kami boleh mendapatkan data berkaitan filem sasaran dan menyimpannya secara setempat dengan mudah. Teknologi perangkak web mempunyai nilai aplikasi yang luas dalam pengumpulan data, perlombongan data, dll. Kami boleh meningkatkan tahap teknikal kami melalui pembelajaran berterusan dan terus meneroka dalam amalan.
Atas ialah kandungan terperinci Pertempuran crawler praktikal dalam Python: perangkak filem Maoyan. 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





Pertempuran perangkak praktikal dalam Python: Perangkak Toutiao Hari ini Dalam era maklumat hari ini, Internet mengandungi sejumlah besar data, dan permintaan untuk menggunakan data ini untuk analisis dan aplikasi semakin tinggi. Sebagai salah satu cara teknikal untuk mencapai pemerolehan data, perangkak juga telah menjadi salah satu bidang penyelidikan yang popular. Artikel ini terutamanya akan memperkenalkan perangkak sebenar dalam Python dan memberi tumpuan kepada cara menggunakan Python untuk menulis program perangkak untuk Toutiao. Konsep asas crawler Sebelum mula memperkenalkan pertempuran crawler sebenar dalam Python, kita perlu memahami dahulu

Amalan PHP: Contoh Kod untuk Melaksanakan Jujukan Fibonacci dengan Pantas Jujukan Fibonacci ialah jujukan yang sangat menarik dan biasa dalam matematik Ia ditakrifkan seperti berikut: nombor pertama dan kedua ialah 0 dan 1, dan daripada yang ketiga Bermula dengan nombor, setiap nombor. ialah hasil tambah dua nombor sebelumnya. Beberapa nombor pertama dalam jujukan Fibonacci ialah 0,1,1.2,3,5,8,13,21,...dan seterusnya. Dalam PHP, kita boleh menjana jujukan Fibonacci melalui rekursi dan lelaran. Di bawah ini kami akan menunjukkan kedua-dua ini

Amalan Pembangunan Java: Mengintegrasikan Perkhidmatan Storan Awan Qiniu untuk Melaksanakan Muat Naik Fail Pengenalan Dengan pembangunan pengkomputeran awan dan storan awan, semakin banyak aplikasi perlu memuat naik fail ke awan untuk penyimpanan dan pengurusan. Kelebihan perkhidmatan storan awan ialah kebolehpercayaan yang tinggi, berskala dan fleksibiliti. Artikel ini akan memperkenalkan cara menggunakan pembangunan bahasa Java, menyepadukan perkhidmatan storan awan Qiniu dan melaksanakan fungsi muat naik fail. Mengenai Qiniu Cloud Qiniu Cloud ialah penyedia perkhidmatan storan awan terkemuka di China, menyediakan perkhidmatan storan awan dan pengedaran kandungan yang komprehensif. Pengguna boleh menggunakan Qiniu Yunti

Amalan reka bentuk jadual MySQL: Buat jadual pesanan e-dagang dan jadual semakan produk Dalam pangkalan data platform e-dagang, jadual pesanan dan jadual semakan produk adalah dua jadual yang sangat penting. Artikel ini akan memperkenalkan cara menggunakan MySQL untuk mereka bentuk dan mencipta kedua-dua jadual ini, dan memberikan contoh kod. 1. Reka bentuk dan penciptaan jadual pesanan Jadual pesanan digunakan untuk menyimpan maklumat pembelian pengguna, termasuk nombor pesanan, ID pengguna, ID produk, kuantiti pembelian, status pesanan dan medan lain. Pertama, kita perlu mencipta jadual bernama "pesanan" menggunakan CREATET

Fungsi eksport data adalah keperluan yang sangat biasa dalam pembangunan sebenar, terutamanya dalam senario seperti sistem pengurusan bahagian belakang atau eksport laporan data. Artikel ini akan mengambil bahasa Golang sebagai contoh untuk berkongsi kemahiran pelaksanaan fungsi eksport data dan memberikan contoh kod khusus. 1. Persediaan persekitaran Sebelum memulakan, pastikan anda telah memasang persekitaran Golang dan biasa dengan sintaks asas dan operasi Golang. Selain itu, untuk melaksanakan fungsi eksport data, anda mungkin perlu menggunakan perpustakaan pihak ketiga, seperti github.com/360EntSec

Artikel ini membawa anda pengetahuan yang berkaitan tentang uniapp merentas domain dan memperkenalkan isu yang berkaitan dengan subkontrak program uniapp dan mini Setiap program mini yang menggunakan subkontrak mesti mengandungi pakej utama. Pakej utama yang dipanggil ialah tempat halaman permulaan lalai/halaman TabBar, serta beberapa sumber awam/skrip JS yang perlu digunakan oleh semua subpakej manakala subpakej dibahagikan mengikut konfigurasi pembangun ia akan membantu semua orang.

Kajian mendalam sintaks pertanyaan Elasticsearch dan pengenalan praktikal: Elasticsearch ialah enjin carian sumber terbuka berdasarkan Lucene Ia digunakan terutamanya untuk carian dan analisis yang diedarkan Ia digunakan secara meluas dalam carian teks penuh data berskala besar , sistem pengesyoran dan senario lain. Apabila menggunakan Elasticsearch untuk pertanyaan data, penggunaan fleksibel sintaks pertanyaan adalah kunci untuk meningkatkan kecekapan pertanyaan. Artikel ini akan menyelidiki sintaks pertanyaan Elasticsearch dan memberikannya berdasarkan kes sebenar.

Pertempuran Praktikal Vue: Pembangunan Komponen Pemilih Tarikh Pengenalan: Pemilih tarikh ialah komponen yang sering digunakan dalam pembangunan harian Ia boleh memilih tarikh dengan mudah dan menyediakan pelbagai pilihan konfigurasi. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Vue untuk membangunkan komponen pemilih tarikh yang mudah dan menyediakan contoh kod khusus. 1. Analisis keperluan Sebelum memulakan pembangunan, kita perlu menjalankan analisis keperluan untuk menjelaskan fungsi dan ciri-ciri komponen. Menurut fungsi komponen pemilih tarikh biasa, kita perlu melaksanakan titik fungsi berikut: Fungsi asas: dapat memilih tarikh, dan
