Cara menggunakan Python untuk melaksanakan teknologi asas perangkak web
Perangkak web ialah program automatik yang digunakan untuk merangkak dan menganalisis maklumat secara automatik di Internet. Sebagai bahasa pengaturcaraan yang berkuasa dan mudah digunakan, Python telah digunakan secara meluas dalam pembangunan perangkak web. Artikel ini akan memperkenalkan cara menggunakan teknologi asas Python untuk melaksanakan perangkak web mudah dan memberikan contoh kod khusus.
Boleh dipasang menggunakan arahan pip:
pip install requests pip install beautifulsoup4 pip install lxml
Seterusnya, import perpustakaan ini:
import requests from bs4 import BeautifulSoup import re
Hantar permintaan HTTP dan dapatkan kandungan web
Untuk merangkak halaman web, anda perlu menghantar permintaan HTTP terlebih dahulu dan dapatkan respons daripada pelayan . Ini boleh dicapai dengan menggunakan fungsi get dari perpustakaan permintaan. Berikut ialah contoh kod yang menunjukkan cara menghantar permintaan HTTP GET yang mudah dan menyimpan kandungan halaman web yang dikembalikan dalam pembolehubah:
url = "https://example.com" response = requests.get(url) content = response.content
Menghuraikan dokumen HTML
Selepas mendapatkan kandungan halaman web, kita perlu menggunakan BeautifulSoup perpustakaan untuk Menghuraikan dokumen HTML dan mengekstrak maklumat yang kami perlukan. Berikut ialah contoh kod yang menunjukkan cara menggunakan BeautifulSoup untuk menghuraikan halaman web dan mendapatkan semua pautan di dalamnya:
soup = BeautifulSoup(content, "lxml") links = soup.find_all('a') for link in links: print(link.get('href'))
Ekstrak maklumat menggunakan ungkapan biasa
Dalam sesetengah kes, anda mungkin perlu menggunakan ungkapan biasa untuk mengekstrak maklumat yang ditentukan , kerana sesetengah data mungkin tidak muncul dalam bentuk teg dalam dokumen HTML. Berikut ialah contoh kod yang menunjukkan cara menggunakan ungkapan biasa untuk mengekstrak pautan yang mengandungi kandungan tertentu:
pattern = r'<a href="(.*?)">(.*?)</a>' matches = re.findall(pattern, content.decode()) for match in matches: print(match)
Merangkak berbilang halaman
Jika anda perlu merangkak berbilang halaman, anda boleh meletakkan kod di atas dalam satu gelung, Lelaran melalui berbilang pautan . Berikut ialah contoh kod yang menunjukkan cara merangkak pautan daripada berbilang halaman:
urls = ["https://example.com/page1", "https://example.com/page2", "https://example.com/page3"] for url in urls: response = requests.get(url) content = response.content soup = BeautifulSoup(content, "lxml") links = soup.find_all('a') for link in links: print(link.get('href'))
Menyimpan data yang dirangkak
Dalam aplikasi praktikal, biasanya perlu menyimpan data yang dirangkak ke fail atau pangkalan data setempat. Ini boleh dicapai dengan menggunakan fungsi manipulasi fail terbina dalam Python. Berikut ialah contoh kod yang menunjukkan cara menyimpan pautan yang dirangkak ke fail teks:
with open("links.txt", "w") as file: for link in links: file.write(link.get('href') + " ")
Ringkasnya, kami menggunakan teknologi asas Python dan menggabungkannya dengan perpustakaan pihak ketiga seperti permintaan, BeautifulSoup dan semula, A mudah perangkak web boleh dilaksanakan. Contoh kod yang disediakan di atas boleh membantu pemula memahami prinsip asas dan kaedah pelaksanaan perangkak. Sudah tentu, dalam aplikasi praktikal, terdapat banyak isu yang terlibat dalam perangkak web, seperti IP proksi, pengesahan log masuk, mekanisme anti perangkak, dsb. Saya harap artikel ini dapat membantu pembaca memahami dengan lebih baik teknologi perangkak web dan menyediakan beberapa asas untuk penyelidikan yang lebih mendalam.
Atas ialah kandungan terperinci Cara melaksanakan perangkak web menggunakan teknologi asas Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!