美文网首页
BeautifulSoup基础使用

BeautifulSoup基础使用

作者: Epimenides | 来源:发表于2020-05-18 23:58 被阅读0次

1. 安装BeautifulSoup

BeautifulSoup官方文档

BeautifulSoup安装命令:conda install -c anaconda beautifulsoup4

2. 如何使用BeatifulSoup库

from bs4 import BeautifulSoup
soup = BeautifulSoup('<p>data</p>','html.parser')

3. 对BeautifulSoul库的理解

HTML文件.png
  • BeautifulSoup库是解析、遍历、维护“标签书”的功能库(只要你提供的文件是标签类型,BeautifulSoup库都可以提供很好的解析)

4.常见标签的格式(P标签为例)

P标签样式:<p class="title">...</p>

P标签的样式.png

P标签的属性是用来定义标签的特点的,同时是一个键值对

5. html文件&标签树&BeautifulSoup类的关系

这三者是等价关系的,对BeautifulSoup类的相关处理就是对标签树的处理

from bs4 import BeautifulSoup
soup = BeautifulSoup("<html>data</html>","html.parser")
soup2= BeautifulSoup(open("D://demo.html","html.parser"))

简单讲我们可以将BeautifulSoup当作对应一个HTML/XML文档的全部内容。

6.BeautifulSoup库解析器

解析器 使用方法 安装bs4
bs4HTML解析器 BeautifulSoup(mk,'html.parser') 安装bs4
lxmlHTML解析器 BeautifulSoup(mk,'lxml') pip install lxml
lxmlXML解析器 BeautifulSoup(mk,'xml') pip install lxml
html5lib的解析器 BeautifulSoup(mk,'html5lib) pip install html5lib

7.BeautifulSoul类的基本元素

基本元素 说明
Tag 标签,最基本的信息组织元素,分别用<></>标明开头和结尾
Name 标签的名字,<p>...</p>的名字是'p',格式:<tag>.name
Attributes 标签的属性,字典形式组织,格式:<tag>.attrs
NavigableString 标签内非属性字符串,<>...</>中字符串,格式:<tag>.string
Comment 标签内字符串的注释部分,一种特殊的Comment类型

8. BeautifulSoup类获得tag标签的方法

import requests
r = requests.get("https://python123.io/ws/demo.html")
demo = r.text
form bs4 import BeautifulSoup
soup = BeautifulSoup(demo, "html.parser")#这个时候soup变量代表解析后的`Demo`页面
print(soup.title)                      #页面在浏览器上方显示信息位置的地方
print(soup.a)                          #链接标签的内容

9. 获取标签名字的方法

import requests
r = requests.get("https://python123.io/ws/demo.html")
demo = r.text
form bs4 import BeautifulSoup
soup = BeautifulSoup(demo, "html.parser")
print(soup.a.name)                      #a标签的内容
print(soup.a.parent.name)               #a标签的父亲的内容
print(soup.a.parent.parent.name)         #a标签父亲的父亲的内容

10. 获取标签属性 的方法

r = requests.get("https://python123.io/ws/demo.html")
demo = r.text
form bs4 import BeautifulSoup
soup = BeautifulSoup(demo, "html.parser")
print(soup.a.attrs)                     #由此可以看出a标签是一个字典类型
soup.a.attrs['class']                   #获取a标签class属性的值
soup.a.attrs['href']                    #获取a标签的连接属性

相关文章

网友评论

      本文标题:BeautifulSoup基础使用

      本文链接:https://www.haomeiwen.com/subject/dkwmohtx.html