BeautifulSoup

安装

安装

# terminal
pip3 install bs4 lxml

模块导入

from bs4 import BeautifulSoup

使用

创建对象及加载

f = open('test.html', 'r')
soup = BeautifulSoup(f, 'lxml')

标签定位

语法
说明

soup.tagName

只可以定位到第一次出现的tagName标签

soup.find(tagName, attrName)

属性定位,只可以定位到满足要求的第一个标签

soup.find_all(tagName, attrName)

定位到满足要求的所有标签

soup.select(选择器)

标签选择器、id选择器(#)、class选择器(.)、层级选择器

# 示例
tag = soup.div

tag = soup.find('div')
tag = soup.find(class_='p-3')
tag = soup.find('div', class_='p-3')

tag = soup.find_all('div')
tag = soup.find_all(class_='p-2')
tag = soup.find_all('div', class_='p-2')

tag = soup.select('div')
tag = soup.select('.p-2')
tag = soup.select('div > ul > li')
tag = soup.select('.p-2 a')

提取标签中的内容

语法
说明

string

提取出标签下直系的文本内容

text

提取出标签下所有的文本内容

tag['attrName']

将tag标签下attrName的属性值取出

# 示例
tag = soup.find('div', class_='p-2')
print(tag)
print(tag.string)
print(tag.text)

tag = soup.select('.p-2 a')
print(tag[0]['href'])

Last updated