BeautifulSoup

前端盲一枚 近期对爬虫产生了独特的兴趣 嘿嘿 学习这份美丽的汤 并做个笔记
官方文档
什么?官方的看不明白?
我也是
正文
BeautifulSoup 一个灵活又方便的网页解析库,处理高效,支持多种解析器。
有了它,不用正则表达式也可以找到需要的数据(正则表达式学习起来有点痛苦)

你也想使用吗?那就开始安装吧!!!

如果已经装了pip 那事情就变得很简单了 只需要打开cmd,运行pip install BeautifulSoup4 咖啡还没倒满,就已经安装完毕了 哈哈

可以用pip list查看有没有安装成功

如果你没有pip 那就下载包安装吧下载地址👇
下载完成后解压到python3安装目录,lib下的site-packages目录
切换到命令行,进入到库目录下,输入python setup.py install,回车开始安装

执行完毕后在IDLE 中执行from bs4 import BeautifulSoup 查看一下吧

解析器
BeautifulSoupBeautiful Soup不仅支持Python标准库中的HTML解析器,还支持一些第三方的解析器
python 标准库

BeautifulSoup(markup,"html.parser")

第三方解析器
lxml HTML

 BeautifulSoup(markup,"lxml")

lxml XML

 BeautifulSoup(markup,"xml")

html5lib

 BeautifulSoup(markup,"html5lib")

第三方的解析器不做安装,因为我还用不到 哈哈

安装完毕可以开始使用了

导入模块 from bs4 import BeautifulSoup

本地文件

 soup = BeautifulSoup(open('本地文件'), "html.parser")

网络文件

  soup = BeautifulSoup('字符串类型或者字节类型', "html.parser")

根据标签名查找
soup.a 只能找到第一个符合要求的标签
获取属性
soup.a.attrs 获取所有的属性和值,返回一个字典
soup.a['href'] 获取href属性
获取内容
soup.a.string
soup.a.text
soup.a.get_text()
find()
返回的匹配结果的第一个元素
soup.find('a')

find_all() 可以根据标签名,属性,内容查找文档, 返回一个列表
soup.find_all('a')
soup.find_all(['a', 'b'])
soup.find_all('a', limit=2) 限制前两个

正则表达式

这表示<body><b>标签都应该被找到:

 for tag in soup.find_all(re.compile("^b")):
    print(tag.name)

按CSS搜索
可以通过class_参数搜索有指定CSS类名的tag:

soup.find_all("a", class_="sister")

CSS选择器.select()
在 Tag 或 BeautifulSoup 对象的 .select() 方法中传入字符串参数, 即可使用CSS选择器的语法找到tag:

soup.select("title")
# [<title>The Dormouse's story</title>]

soup.select("p nth-of-type(3)")
# [<p class="story">...</p>]
展开阅读全文

Windows版YOLOv4目标检测实战:训练自己的数据集

04-26
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值