认识爬虫 —— bs4提取

安装

pip install bs4

导入

from bs4 import BeautifulSoup

创建 Beautiful Soup 对象

soup = BeautifulSoup(html, features="lxml")

其中html为要解析的文档,features为使用的解析器类型

BS4支持的解析器有html.parse(Python内置)、lxml、和html5lib等


搜索文档树:

find:返回第一个匹配的标签(支持按标签名、类名、ID 筛选)

soup.find('p', class_='content') 查找首个 class 为 "content" 的 <p> 标签

findall:返回所有匹配的标签列表(支持正则表达式)

soup.find_all('a', href=True) 查找所有含 href 属性的链接

css选择器:使用select方法,返回的是列表

|-------------------|---------------------------------------------|
| 选择器 | 描述 |
| 标签选择器 | soup.select('title') |
| 类选择器 | soup.select('.sister') |
| id选择器 | soup.select('#title') |
| 层级选择器 | soup.select('p title') |
| 属性选择器 | soup.select('a[href="http://baidu.com"]') |
| 组合选择器 | soup.select('div.class1.class2') |
| 获取文本内容 get_text() | soup.select('title')[0].get_text() |
| 获取属性 get('属性名') | soup.select('title')[0].get('href') |