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.
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
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.
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.
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!