首頁 > 後端開發 > Python教學 > 用美麗的湯在Python中刮擦網頁:搜索和DOM修改

用美麗的湯在Python中刮擦網頁:搜索和DOM修改

尊渡假赌尊渡假赌尊渡假赌
發布: 2025-03-08 10:36:11
原創
668 人瀏覽過

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

>本教程建立在先前的“美麗湯”簡介上,重點是簡單的樹導航之外的DOM操縱。 我們將探索有效的搜索方法和技術,以修改HTML結構。

>一種常見的DOM搜索方法是

。此方法將元素列表添加到標籤中,並保留其原始訂單。但是,簡單地使用extend()延伸可能會導致元素作為字符串而不是適當的html標籤。 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'))>上面的示例演示了此基於字符串的添加。 要將元素添加為適當的HTML標籤,請使用

    >方法。相反,該方法在保留其內容時刪除了標籤。讓我們以一個刪除粗體和斜體標籤的示例來說明:wrap()> 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)
    登入後複製
    >刪除不需要的標籤。 請注意,刪除標籤後,文本片段被存儲為

    unwrap()方法將這些字符串連接到一個字符串中,簡化了輸出。 NavigableStringssmooth()結論

    這些教程為網絡刮擦提供了美麗的湯提供基礎。您已經學習瞭如何解析網頁,提取數據,修改HTML結構並在本地保存結果。 這使您能夠有效地處理和操縱各種應用程序的Web內容。

    以上是用美麗的湯在Python中刮擦網頁:搜索和DOM修改的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板