您的位置:首页 > 新闻 > 热点要闻 > 房地产销售经理职责和工作内容_婚庆网站模板_seo搜索引擎优化_杭州做seo的公司

房地产销售经理职责和工作内容_婚庆网站模板_seo搜索引擎优化_杭州做seo的公司

2025/4/18 10:28:07 来源:https://blog.csdn.net/cloud323/article/details/146779195  浏览:    关键词:房地产销售经理职责和工作内容_婚庆网站模板_seo搜索引擎优化_杭州做seo的公司
房地产销售经理职责和工作内容_婚庆网站模板_seo搜索引擎优化_杭州做seo的公司

文章目录

  • 一、Beautiful Soup实战
    • 1、什么是 Beautiful Soup ?
    • 2、安装
    • 3、解析器
    • 4、创建 Beautiful Soup 对象
    • 5、选择器
      • 5.1、节点选择器

前言:

在网络数据处理与分析的领域里,网页数据提取是极为关键的一环。Python 作为一种功能强大且广受欢迎的编程语言,为开发者们提供了众多实用的库来处理这类任务,其中 BeautifulSoup 便是一款在网页数据提取方面表现卓越的库。

一、Beautiful Soup实战

1、什么是 Beautiful Soup ?

BeautifulSoup 是一个用于从 HTML 或 XML 文件中提取数据的 Python 库。它可以将复杂的 HTML 或 XML 文档转化为树形结构,使得开发者能够轻松地遍历、搜索和修改文档内容。借助 BeautifulSoup,我们能够迅速定位到所需的数据,如特定的标签、属性或文本信息。主要特点:

  • 自动将输入文档转换为Unicode编码,输出文档转换为UTF-8编码。
  • 支持多种解析器(如lxml、html5lib等)。
  • 提供简单易用的导航、搜索和修改文档树的方法。
  • 能够处理不规范的HTML文档。

2、安装

执行下面的命令进行安装

pip install beautifulsoup4

3、解析器

Beautiful Soup 支持多种解析器,每种解析器有不同的特点和适用场景。以下是主要的解析器及其差异对比。

解析器安装方式速度容错性依赖适用场景
Python标准库 html.parser内置,无需安装中等中等简单项目,不需要额外依赖
lxml的HTML解析器 lxmlpip install lxmllxml库大多数情况下的首选
lxml的XML解析器 xmlpip install lxml严格lxml库解析严格的XML文档
html5lib html5libpip install html5lib非常好html5lib库解析不规范HTML,模拟浏览器行为

4、创建 Beautiful Soup 对象

创建 Beautiful Soup 对象时大多数情况下只需要关注markupfeatures参数,其他参数用于处理特殊情况。

  • markup 参数(必需)
    • 作用:指定要解析的文档内容
    • 可接受类型
      • 字符串形式的HTML/XML内容
      • 文件对象(如通过open()打开的文件)
      • URL响应内容(如requests库获取的响应)
    • 示例
      # 从字符串创建
      html_str = "<html><body><p>Hello World</p></body></html>"
      soup = BeautifulSoup(html_str, 'html.parser')# 从文件创建
      with open('index.html') as f:soup = BeautifulSoup(f, 'html.parser')# 从网页响应创建
      import requests
      response = requests.get('http://example.com')
      soup = BeautifulSoup(response.text, 'html.parser')
      
  • features 参数(推荐指定)
    • 作用:指定使用的解析器类型
    • 常用选项
      • 'html.parser':Python内置解析器(无需安装额外库)
      • 'lxml':lxml的HTML解析器(速度快,推荐使用)
      • 'xml':lxml的XML解析器
      • 'html5lib':容错性最好的HTML解析器
    • 示例
      # 使用不同解析器
      soup1 = BeautifulSoup(html_str, 'html.parser')  # 内置解析器
      soup2 = BeautifulSoup(html_str, 'lxml')        # 推荐使用的lxml解析器
      soup3 = BeautifulSoup(xml_str, 'xml')          # 解析XML文档
      soup4 = BeautifulSoup(bad_html, 'html5lib')    # 处理不规范HTML
      

5、选择器

通过选择器来定位节点以及获取节点对应的值,常见的选择器有下面几种

5.1、节点选择器

  • 通过标签名直接访问
    soup.title  # 获取第一个<title>标签
    soup.p  # 获取第一个<p>标签
    
  • find() 方法
    soup.find('div')  # 查找第一个<div>标签
    soup.find('a', class_='external')  # 查找第一个class为external的<a>标签
    
  • find_all() 方法
    soup.find_all('li')  # 查找所有<li>标签
    soup.find_all('span', {'class': 'highlight'})  # 查找所有class为highlight的<span>标签
    

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com