首页 > 后端开发 > Python教程 > 用美丽的汤在Python中刮擦网页:搜索和DOM修改

用美丽的汤在Python中刮擦网页:搜索和DOM修改

尊渡假赌尊渡假赌尊渡假赌
发布: 2025-03-08 10:36:11
原创
667 人浏览过

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
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板