python中beautifulsoup的用法,python beautiful soup

  python中beautifulsoup的用法,python beautiful soup

  大家好,本文主要讲Python中BeautifulSoup模块的详细讲解。有兴趣的同学过来看看,如果对你有帮助记得收藏。

  00-1010前言安装库导入库解析文档示例提取数据示例CSS选择器示例小型项目摘要

  

目录

  BeautifulSoup是一个Python模块,主要用于解析网页。它提供了一些强大的解释器来解析web页面,然后提供了一些函数来从页面中提取所需的数据。目前,它是Python爬虫中最常用的模块之一。

  

前言

  使用前,需要安装库。这里建议安装bs4,也就是第四个版本,因为根据第三个版本的官方文档,更新已经停止。同时安装lxml解释器。

  pip3安装bs4

  pip3安装lxml

  

安装库

  从bs4导入BeautifulSoup

  

导入库

  这里以公文为例。我把常用的功能都列出来。在实际开发过程中使用的并不多。认识他们就好。

  #摘自《爱丽丝梦游仙境》的一段话

  html=

  睡鼠的故事/标题/头像

  身体

  睡鼠的故事/b/p

  从前有三个小姐妹;他们的名字是

  a href= http://example.com/elsie class= sis ter id= link 1 !-埃尔希- /a,

  a href= http://example.com/lacsie class= sis ter id= link 2 Lacie/a和

  a href= http://example.com/title class= sis ter id= link 3 Tillite/a;

  他们住在井底。/p

  故事./p

  #解析文档并创建一个BeautifulSoup对象。各种函数都是为这个对象开发的,这个函数会自动编码成Unicode。

  soup=BeautifulSoup(html, lxml )

  该函数有两个参数:

  1.要解析的文本可以是字符串或本地文件。

  2.解释器,有四种: lxml , lxml-XML , html.parser ,或者 html5lib ,可以解析大部分网页,lxml常用于解析 这里有一个坑,如果网页中没有规定编码格式,解释器就不能编码为Unicode,必须先声明一下编码格式,只需要到网页源码中查找编码格式然后做个声明就可以。一般在网页中查找字符集关键字。

  #美化文档。有些网页不是用标准的方式写的。这个函数将完成标签,使它们看起来更标准。

  print(soup . pretify())

  

解析文档示例

  得到文本后,我们需要提取我们需要的数据。这里使用了三个选择器N。

  bsp;

  标签选择器(tag选择器)

  标准选择器

  CSS选择器

  1、标签选择器(tag选择器)

  

# 直接用标签获取标题

  print("title: ", soup.title)

  # 获取标题文本

  print(soup.title.text)

  # 获取p标签

  print(soup.p)

  # 获取head标签

  print(soup.head)

  # 获取a标签

  print(soup.a)

  输出:

  

  标签中最重要的俩个属性:name、attributes

  

# 使用.name函数获取标签名

  print(标题标签的名字: , soup.title.name)

  # tag的属性用法和字典基本一样,可以用属性名取属性,类似字典的键值对,也可以用.attrs取属性:

  print(a标签中属性为"href"的值: , soup.a["href"])

  # 会返回一个字典,需要何种属性可自行提取

  print(a标签的所有属性: ,soup.a.attrs)

  dict1 = soup.a.attrs

  # 属性为class的值

  print(属性为class的值: , dict1[class])

  输出:

  

  这里的子孙父兄节点,我感觉用起来忒不顺手,可能是我学的不太彻底

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码:

Copyright @ 2018-2022 盛行IT 合作邮箱: mdzz19960812@outlook.com

备案号:湘ICP备2023015575号