Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara melaksanakan perangkak web menggunakan teknologi asas Python

Cara melaksanakan perangkak web menggunakan teknologi asas Python

PHPz
PHPzasal
2023-11-08 10:30:131008semak imbas

Cara melaksanakan perangkak web menggunakan teknologi asas Python

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.

  1. Pasang perpustakaan yang diperlukan
    Untuk melaksanakan perangkak web, anda perlu memasang dan mengimport beberapa perpustakaan Python terlebih dahulu. Di sini, kami akan menggunakan perpustakaan berikut:
  2. permintaan: digunakan untuk menghantar permintaan HTTP dan mendapatkan kandungan halaman web.
  3. BeautifulSoup: Digunakan untuk menghuraikan dokumen HTML dan XML serta mengekstrak maklumat berguna.
  4. re: Digunakan untuk pemadanan ungkapan biasa untuk mengekstrak data tertentu daripada teks.

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
  1. 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
  2. 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'))
  3. 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)
  4. 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'))
  5. 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!

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