Rumah > pembangunan bahagian belakang > Tutorial Python > Mengikis halaman web dalam python dengan sup yang indah: carian dan pengubahsuaian dom

Mengikis halaman web dalam python dengan sup yang indah: carian dan pengubahsuaian dom

尊渡假赌尊渡假赌尊渡假赌
Lepaskan: 2025-03-08 10:36:11
asal
667 orang telah melayarinya

Scraping Webpages in Python With Beautiful Soup: Search and DOM Modification

Tutorial ini dibina pada pengenalan sebelumnya kepada sup yang indah, yang memberi tumpuan kepada manipulasi DOM di luar navigasi pokok mudah. Kami akan meneroka kaedah dan teknik carian yang cekap untuk mengubahsuai struktur HTML.

Satu kaedah carian DOM biasa ialah

. Kaedah ini menambah senarai elemen ke tag, memelihara pesanan asalnya. Walau bagaimanapun, hanya memanjangkan dengan extend() mungkin mengakibatkan unsur -unsur ditambah sebagai rentetan dan bukannya tag HTML yang betul. extend()

import requests
from bs4 import BeautifulSoup

req = requests.get('https://en.wikipedia.org/wiki/Python_(programming_language)')
soup = BeautifulSoup(req.text, "lxml")

new_soup = BeautifulSoup("<ol></ol>", "lxml")

new_soup.ol.extend(['
Salin selepas log masuk
  • ' + heading.text + '
  • ' for heading in soup.find_all('h2')]) print(new_soup.ol.contents) print(new_soup.find_all('li')) Contoh di atas menunjukkan penambahan berasaskan rentetan ini. Untuk menambah elemen sebagai tag HTML yang betul, gunakan kaedah

    . Sebaliknya, kaedah wrap() membuang tag semasa mengekalkan kandungan mereka. Mari kita gambarkan dengan contoh mengeluarkan tag berani dan italik: unwrap()

    soup = BeautifulSoup("<p>We will <i>try</i> to get rid of <b>tags</b> that make text <b>bold</b> or <i>italic</i>. The content <i>within</i> the <b>tags</b> should still be <b>preserved</b>.</p>", "lxml")
    
    for unwanted_tag in soup.find_all(["b", "i"]):
        unwanted_tag.unwrap()
    
    print(soup.p.contents)
    soup.p.smooth()
    print(soup.p.contents)
    Salin selepas log masuk
    di sini,

    membuang tag yang tidak diingini. Perhatikan bahawa selepas mengeluarkan tag, serpihan teks disimpan sebagai unwrap(). Kaedah NavigableStrings menggabungkan rentetan ini ke dalam satu rentetan, memudahkan output. smooth()

    Kesimpulan

    tutorial ini menyediakan asas untuk mengikis web dengan sup yang indah. Anda telah belajar bagaimana untuk menghuraikan laman web, mengekstrak data, mengubahsuai struktur HTML, dan menyimpan hasilnya secara tempatan. Ini memberi kuasa kepada anda untuk memproses dan memanipulasi kandungan web dengan berkesan untuk pelbagai aplikasi.

    Atas ialah kandungan terperinci Mengikis halaman web dalam python dengan sup yang indah: carian dan pengubahsuaian dom. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    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