大家好,今天是21天python打卡的第14天,上一篇讲了python中requests-html的用法,今天来说说的Beautiful Soup用法。
活动地址:CSDN21天学习挑战赛
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。
目录
初学 Python 爬虫,十之八九你采集的目标是网页,因此快速定位到网页内容,就成为你面临的第一道障碍,
本篇博客就为你详细说明最易上手的网页元素定位术,学完就会系列。
本文核心使用到的是 Beautiful Soup 模块,因此我们用来做测试采集的站点,也是其官网(现阶段爬虫采集越来越严格,很多站点不能在采集了,很容易被封杀,只能学谁就采集谁了)
官方站点
www.crummy.com/software/BeautifulSoup/
Beautiful Soup 在 Python 爬虫圈知名度极高,而且非常好用,它是一款 Python 解析库,主要用于将 HTML 标签转换为 Python 对象树,然后让我们从对象树中提取数据。
模块的安装及其简单:
pip install bs4 -i 国内任意源即可
未来安装任何模块,都尽量使用国内源,速度快稳定。
该模块包名称为 bs4,安装的时候需要特别注意下。
- import requests
- from bs4 import BeautifulSoup
-
-
- def ret_html():
- """获取HTML元素"""
- res = requests.get('https://www.crummy.com/software/BeautifulSoup/', timeout=3)
- return res.text
-
-
- if __name__ == '__main__':
- html_str = ret_html()
- soup = BeautifulSoup(html_str, 'lxml')
- print(soup)
其中需要注意的就是模块导入代码,以及实例化 soup
对象时,在 BeautifulSoup
类的构造函数中传递的两个参数,一个是待解析的字符串,另一个是解析器,官方建议的是 lxml
,因其解析速度快。
上述代码输出的内容如下所示,看上去就是普通的 HTML 代码文件。
- Site Search:
-
- 255"name="q"type="text"value=""/>