PHPz
Lepaskan: 2024-04-09 14:09:02
asal
401 orang telah melayarinya

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
Salin selepas log masuk

Minta dan menghuraikan halaman web

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

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]
Salin selepas log masuk

Wujudkan sambungan pangkalan data

conn = sqlite3.connect('database.db')
c = conn.cursor()
Salin selepas log masuk

Tulis data ke pangkalan data

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

Komit perubahan dan tutup sambungan

conn.commit()
conn.close()
Salin selepas log masuk

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()
Salin selepas log masuk

Atas ialah kandungan terperinci . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan