Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Panduan Membina Aplikasi Mengikis Web Python Mudah

Panduan Membina Aplikasi Mengikis Web Python Mudah

PHPz
PHPzasal
2024-08-16 18:02:12889semak imbas

Guide to Building a Simple Python Web Scraping Application

Mengikis data web dalam Python biasanya melibatkan penghantaran permintaan HTTP ke tapak web sasaran dan menghuraikan data HTML atau JSON yang dikembalikan. ‌ Di bawah ialah contoh aplikasi mengikis web mudah yang menggunakan perpustakaan permintaan untuk menghantar permintaan HTTP dan menggunakan BeautifulSouplibrary untuk menghuraikan HTML. ‌

Python membina kes mengikis web mudah

Pertama, pastikan anda telah memasang permintaan dan perpustakaan beautifulsoup4. Jika tidak, anda boleh memasangnya dengan arahan berikut:‌

permintaan pemasangan pip beautifulsoup4
Kemudian, anda boleh menulis skrip Python seperti berikut untuk mengikis data rangkaian:

import requests 
from bs4 import BeautifulSoup 

# URL of the target website 
url = 'http://example.com' 

# Sending HTTP GET request 
response = requests.get(url) 

# Check if the request was successful 
if response.status_code == 200: 
    # Parsing HTML with BeautifulSoup 
    soup = BeautifulSoup(response.text, 'html.parser') 

    # Extract the required data, for example, extract all the titles 
    titles = soup.find_all('h1') 

    # Print title 
    for title in titles: 
        print(title.text) 
else: 
    print('Request failed,status code:', response.status_code) 

Dalam contoh ini, kami mula-mula mengimport permintaan dan BeautifulSouplibraries. Kemudian, kami menentukan URL tapak web sasaran dan menghantar permintaan HTTP GET menggunakan kaedah requests.get(). Jika permintaan berjaya (kod status ialah 200), kami menghuraikan HTML yang dikembalikan menggunakan BeautifulSoup dan mengekstrak semua

tag, yang biasanya mengandungi tajuk utama halaman. Akhir sekali, kami mencetak kandungan teks setiap tajuk.

Sila ambil perhatian bahawa dalam projek mengikis web sebenar, anda perlu mematuhi peraturan fail robots.txt tapak web sasaran dan menghormati hak cipta dan syarat penggunaan tapak web tersebut. Selain itu, sesetengah tapak web mungkin menggunakan teknik anti perangkak, seperti memuatkan kandungan secara dinamik, pengesahan captcha, dll., yang mungkin memerlukan strategi pengendalian yang lebih kompleks.

Mengapa anda perlu menggunakan proksi untuk mengikis web?

Menggunakan proksi untuk merangkak tapak web ialah kaedah biasa untuk memintas sekatan IP dan mekanisme anti-perangkak. Pelayan proksi boleh bertindak sebagai perantara, memajukan permintaan anda ke tapak web sasaran dan mengembalikan respons kepada anda, supaya tapak web sasaran hanya boleh melihat alamat IP pelayan proksi dan bukannya alamat IP sebenar anda.

Contoh mudah pengikisan web menggunakan proksi

Dalam Python, anda boleh menggunakan requestslibrary untuk menyediakan proksi. Berikut ialah contoh mudah yang menunjukkan cara menggunakan proksi untuk menghantar permintaan HTTP:

import requests 

# The IP address and port provided by swiftproxy 
proxy = { 
    'http': 'http://45.58.136.104:14123', 
    'https': 'http://119.28.12.192:23529', 
} 

# URL of the target website 
url = 'http://example.com' 

# Sending requests using a proxy 
response = requests.get(url, proxies=proxy) 

# Check if the request was successful 
if response.status_code == 200: 
    print('Request successful, response content:‌', response.text) 
else: 
    print('Request failed,status code:‌', response.status_code) 

Perhatikan bahawa anda perlu menggantikan IP dan port pelayan proksi dengan alamat pelayan proksi sebenar. Selain itu, pastikan pelayan proksi boleh dipercayai dan menyokong tapak web yang ingin anda rangkak. Sesetengah tapak web mungkin mengesan dan menyekat permintaan daripada pelayan proksi yang diketahui, jadi anda mungkin perlu menukar pelayan proksi dengan kerap atau menggunakan perkhidmatan proksi yang lebih maju.

Atas ialah kandungan terperinci Panduan Membina Aplikasi Mengikis Web Python Mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn