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

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌asal
2025-03-08 10:36:11675semak imbas

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(['
  • ' + 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)
    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:
    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