当前位置: 首页 > wzjs >正文

正规网站建设服务网络推广企业

正规网站建设服务,网络推广企业,萝岗网站建设制作,在人才网站做业务文章目录 前言BeautifulSoup4 简介主要特点:安装方式: 常用 API1. 创建 BeautifulSoup 对象2. 查找标签find(): 返回匹配的第一个元素find_all(): 返回所有匹配的元素列表select_one() & select(): CSS 选择器 3. 访问标签内容text 属性: 获取标签内纯文本get_t…

文章目录

    • 前言
    • BeautifulSoup4 简介
      • 主要特点:
      • 安装方式:
    • 常用 API
      • 1. 创建 BeautifulSoup 对象
      • 2. 查找标签
        • find(): 返回匹配的第一个元素
        • find_all(): 返回所有匹配的元素列表
        • select_one() & select(): CSS 选择器
      • 3. 访问标签内容
        • text 属性: 获取标签内纯文本
        • get_text(): 同样作用于获取文本
        • attrs 属性: 获取标签的所有属性
        • [attribute]: 直接访问某个属性值
      • 4. 修改文档
        • 添加新标签
        • 删除标签
        • 替换标签
      • 5. 导航树结构
        • parent: 上级父节点
        • children: 下级子节点迭代器
        • siblings: 并列兄弟节点
    • 实战小技巧(关键点)
      • F12打开控制台
      • 复制对应图片的css选择器
      • 直接代码中使用
    • 结束语

前言

在时光的长河里,每一滴水都是昨日的星辰,映照着永不重复的今天。

BeautifulSoup4 简介

BeautifulSoup4(通常简称为 BS4)是一个用于解析 HTML 和 XML 文档的 Python 库。它的设计目的是简化从复杂网页中提取数据的过程。BeautifulSoup4 可以处理各种各样的标记语言,并提供了一个简单的接口来进行文档导航、搜索和修改。

主要特点:

  • 跨平台支持: Beautiful Soup 支持 Windows、Linux、Mac OS X 等多个操作系统。
  • 兼容性强: 支持多种解析器,包括 Python 内置的标准库解析器 (html.parser)、第三方解析器 lxmlhtml5lib
  • 易于学习: 提供了简单且直观的 API,适合初学者使用。
  • 强大功能: 包含丰富的函数和方法,可以帮助开发者高效地完成任务。

安装方式:

你可以通过 pip 工具轻松安装 BeautifulSoup4:

pip install beautifulsoup4

常用 API

以下是 BeautifulSoup4 中一些常用的 API 方法和功能:

1. 创建 BeautifulSoup 对象

首先,你需要创建一个 BeautifulSoup 对象来解析 HTML 或 XML 文档。

from bs4 import BeautifulSoup# 使用默认的 html.parser 解析器
html_doc = "<html><head><title>Example Page</title></head><body id='id'><a href='123'></a><p class='my-class child-class'><i>444</i><h1>Hello World</h1></p></body></html>"
soup = BeautifulSoup(html_doc, 'html.parser')# 打印解析后的结果
print(soup.prettify())

2. 查找标签

可以通过标签名称或其他属性来查找特定的元素。

find(): 返回匹配的第一个元素
first_paragraph = soup.find('p')
print(first_paragraph)  # 输出: <p>Hello World</p>
find_all(): 返回所有匹配的元素列表
all_headings = soup.find_all(['h1', 'h2'])
for heading in all_headings:print(heading.text)
select_one() & select(): CSS 选择器
css_selector_example = soup.select_one('.my-class')
print(css_selector_example)css_selectors_examples = soup.select('#id > .child-class')
for element in css_selectors_examples:print(element.text)

3. 访问标签内容

访问标签内的文本和其他属性。

text 属性: 获取标签内纯文本
text_content = first_paragraph.text
print(text_content)  # 输出: Hello World
get_text(): 同样作用于获取文本
get_text_content = first_paragraph.get_text()
print(get_text_content)  # 输出: Hello World
attrs 属性: 获取标签的所有属性
attributes = first_paragraph.attrs
print(attributes)  # 如果没有其他属性,则为空字典 {}
[attribute]: 直接访问某个属性值
link_tag = soup.a
href_value = link_tag['href']
print(href_value)

4. 修改文档

除了查询外,还可以动态地添加、删除或修改文档中的节点。

添加新标签
new_tag = soup.new_tag("b")
new_tag.string = "Bold Text"
first_paragraph.append(new_tag)
print(first_paragraph)  # 输出: <p>Hello World<b>Bold Text</b></p>
删除标签
tag_to_remove = soup.b
tag_to_remove.decompose()
print(first_paragraph)  # 输出: <p>Hello World</p>
替换标签
replacement_tag = soup.new_tag("i")
replacement_tag.string = "Italic Text"
first_paragraph.i.replace_with(replacement_tag)
print(first_paragraph)  # 输出: <p>Hello World<i>Italic Text</i></p>

5. 导航树结构

BeautifulSoup 还提供了多种方法来遍历和操作 DOM 树。

parent: 上级父节点
parent_node = first_paragraph.parent
print(parent_node.name)  # 输出: body
children: 下级子节点迭代器
children_nodes = list(first_paragraph.children)
for child in children_nodes:print(child)
siblings: 并列兄弟节点
next_sibling = first_paragraph.next_sibling
previous_sibling = first_paragraph.previous_sibling
print(next_sibling)
print(previous_sibling)

实战小技巧(关键点)

实际情况下,很多节点不好找到,可以利用浏览器功能,可以直接复制css选择器

F12打开控制台

F12打开控制台

复制对应图片的css选择器

复制css选择器

直接代码中使用

from bs4 import BeautifulSoup# 使用默认的 html.parser 解析器
html_doc = "<html></html>"
soup = BeautifulSoup(html_doc, 'html.parser')
# 只是为了示例  不可运行 以下是复制出来的内容
soup.select('#ice-container > div.tbpc-layout > div.screen-outer.clearfix > div.main > div.core.J_Core > div > div:nth-child(1) > div:nth-child(1) > div > div > div > div > div:nth-child(3) > div > div > a')

结束语

文章中API都验证过,可直接运行👽👽👽
运行有问题可联系作者评论交流🤭🤭🤭
风是自由的,你也是自由🤠🤠🤠
欢迎一起交流学习☠️☠️☠️
有帮助请留下足迹 一键三连🥰🥰🥰
爬虫大佬勿喷,欢迎指正问题😈😈😈
后面会做一系列的爬虫文章,请持续关注作者🤡🤡🤡。

http://www.dtcms.com/wzjs/105287.html

相关文章:

  • 怎么在本地做网站广告投放是什么工作
  • 做网站好公司廊坊seo培训
  • 加强门户网站建设宁波免费seo在线优化
  • 濮阳做网站优化网络营销做得比较成功的案例
  • 公司网站模板免费源码下载b站推广链接
  • 哪个网站做电商门槛最低需要多少钱
  • 武汉市网站制作如何做一个营销方案
  • 建设网站证书查询seo分析报告怎么写
  • ai网站大全天津seo网站排名优化公司
  • 企业网站建设方案价位百度提交网站入口
  • 手机访问网站建设中平台推广是什么
  • 网站建设的电话销售微博seo排名优化
  • 正规全平台内容系统官网外贸网站谷歌seo
  • 没有页面的网站怎么做性能测试长治seo顾问
  • 昆明网络营销网站网络营销的发展前景
  • 龙岩一中网站百度网站介绍
  • 博客为什么用wordpressseo顾问培训
  • 公司管理系统的好处宁波seo网络推广代理公司
  • 中学网上做试卷的网站关键词的作用
  • 番禺外贸型网站建设淘宝优秀软文范例100字
  • 怎么做代购网站百度的总部在哪里
  • 建网站怎么挣钱的网络营销成功案例ppt
  • 批发电商做的好的网站建站abc
  • 个人做网站手机获取验证码搜什么关键词比较刺激
  • 网站开发保密合同文大侠seo博客
  • 网站建设与管理工资网上怎么注册公司免费的
  • 宁波哪里可以做网站推广计划怎么做推广是什么
  • 微信公众平台官网注册小程序seo网站推广教程
  • 长宁区科技网站建设百度竞价被换着ip点击
  • 做短视频网站收益软文推广的好处