Mengikis web ialah kemahiran penting untuk pembangun yang perlu mengumpulkan data daripada web dengan cekap. Dalam tutorial ini, kami akan menelusuri skrip Python mudah untuk mengikis tajuk artikel daripada tapak web berita menggunakan BeautifulSoup, perpustakaan yang berkuasa untuk menghuraikan HTML dan XML.
Menjelang akhir tutorial ini, anda akan mempunyai skrip yang mengekstrak dan memaparkan tajuk artikel daripada halaman web dalam hanya beberapa baris kod!
Sebelum menyelami kod, pastikan anda telah memasang Python pada sistem anda. Anda juga memerlukan perpustakaan berikut:
Anda boleh memasang perpustakaan ini menggunakan pip:
pip install requests beautifulsoup4
Katakan anda ingin menjejaki berita terkini daripada tapak web seperti BBC News. Daripada melawati tapak secara manual, anda boleh mengautomasikan tugasan ini dengan Python dan mengikis tajuk artikel untuk analisis atau paparan.
Berikut ialah skrip Python lengkap untuk mengikis tajuk artikel:
import requests from bs4 import BeautifulSoup def fetch_article_titles(url): try: # Step 1: Send an HTTP GET request to fetch the webpage response = requests.get(url) response.raise_for_status() # Ensure the request was successful # Step 2: Parse the webpage content with BeautifulSoup soup = BeautifulSoup(response.text, "html.parser") # Step 3: Use a CSS selector to find all article titles titles = [] for heading in soup.select("h3"): # Most news sites use <h3> tags for article titles titles.append(heading.get_text(strip=True)) # Extract and clean the text return titles except requests.exceptions.RequestException as e: print(f"Error fetching the webpage: {e}") return [] except Exception as e: print(f"Error during parsing: {e}") return [] # Example usage: Fetching titles from BBC News url = "https://www.bbc.com/news" titles = fetch_article_titles(url) # Print the article titles print("Latest Article Titles:") for i, title in enumerate(titles, 1): print(f"{i}. {title}")
Buat Permintaan:
Menghuraikan Kandungan:
Ekstrak Tajuk:
Apabila anda menjalankan skrip, anda akan mendapat senarai tajuk artikel yang bersih:
Latest Article Titles: 1. Israel-Gaza conflict: Latest updates 2. Global markets fall amid economic uncertainty 3. AI advancements raise ethical questions 4. Football: Premier League results ...
Anda boleh mengubah suai skrip ini untuk mengikis jenis kandungan lain atau menyasarkan tapak web yang berbeza. Berikut ialah beberapa tweak yang boleh anda cuba:
Tukar Pemilih CSS:
Gantikan "h3" dengan pemilih yang lebih khusus (cth., "div.article-title") jika tapak web sasaran mempunyai struktur yang berbeza.
Kikir Data Tambahan:
Ekstrak URL, tarikh penerbitan atau ringkasan dengan memilih elemen dan atribut HTML yang berkaitan.
Hormati Syarat Perkhidmatan Tapak Web:
Sentiasa semak fail robots.txt tapak web atau syarat penggunaan untuk memastikan pengikisan dibenarkan.
Hadkan Kadar Permintaan Anda:
Elakkan membebankan pelayan dengan menambahkan kelewatan antara permintaan menggunakan kaedah time.sleep.
Kendalikan Perubahan Dengan Anggun:
Tapak web boleh mengubah strukturnya, memecahkan skrip anda. Sentiasa bersedia untuk nyahpepijat dan mengemas kini kod anda.
Hanya dalam beberapa baris kod Python, kami telah membina skrip yang ringkas namun berkuasa untuk mengikis tajuk artikel daripada tapak web berita. BeautifulSoup memudahkan untuk menavigasi dan mengekstrak data yang anda perlukan, manakala permintaan mengendalikan interaksi HTTP.
Pengikisan web boleh membuka banyak peluang, daripada memantau arah aliran hingga mengautomasikan pengumpulan data. Ingatlah untuk mengikis secara bertanggungjawab!
Atas ialah kandungan terperinci Pengikisan Web Dipermudahkan: Mengekstrak Tajuk Artikel dengan BeautifulSoup. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!