Rumah  >  Artikel  >  hujung hadapan web  > 

PHPz
PHPzasal
2024-04-09 14:09:02346semak imbas

Kod ini boleh digunakan untuk mengimport perpustakaan yang diperlukan untuk mengikis dan menghuraikan data web dan mengimportnya ke dalam pangkalan data: Dapatkan halaman web menggunakan perpustakaan permintaan Python. Gunakan perpustakaan BeautifulSoup untuk menghuraikan halaman dan mengekstrak data yang diperlukan. Mewujudkan sambungan pangkalan data dan membuat jadual menggunakan perpustakaan SQLite3. Tulis data yang diekstrak ke dalam jadual pangkalan data. Lakukan perubahan dan tutup sambungan pangkalan data.

HTML 段落间距加两格

Gunakan Python dan SQL untuk mengikis dan menghuraikan data web

Import perpustakaan penting

import requests
from bs4 import BeautifulSoup
import sqlite3

Minta dan menghuraikan halaman web

url = 'https://example.com/page/'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

Ekstrak data yang diperlukan

Ekstrak data yang diperlukan

Ekstrak data yang diperlukanfind_all()get_text() muka surat .

titles = soup.find_all('h1')
titles = [title.get_text() for title in titles]

Wujudkan sambungan pangkalan data

conn = sqlite3.connect('database.db')
c = conn.cursor()

Tulis data ke pangkalan data

for title in titles:
    c.execute('INSERT INTO titles (title) VALUES (?)', (title,))

Komit perubahan dan tutup sambungan

conn.commit()
conn.close()

Kes praktikal

Gunakan kod ini untuk mengikis data tajuk produk teratas dalam laman utama Amazon dan simpannya tengah pangkalan data. Berikut ialah kod demo:

import requests
from bs4 import BeautifulSoup
import sqlite3

url = 'https://amazon.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

titles = soup.find_all('h2', {'class': 'a-size-medium s-inline s-access-title'})
titles = [title.get_text().strip() for title in titles]

conn = sqlite3.connect('amazon_titles.db')
c = conn.cursor()
for title in titles:
    c.execute('INSERT INTO titles (title) VALUES (?)', (title,))

conn.commit()
conn.close()

Atas ialah kandungan terperinci . 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
Artikel sebelumnya:Artikel seterusnya: