天天看点

python 获取li的内容_Python 爬虫解析库的使用 解析库的使用--Beautiful Soup:

python 获取li的内容_Python 爬虫解析库的使用 解析库的使用--Beautiful Soup:

解析库的使用(1)

python 获取li的内容_Python 爬虫解析库的使用 解析库的使用--Beautiful Soup:
python 获取li的内容_Python 爬虫解析库的使用 解析库的使用--Beautiful Soup:
python 获取li的内容_Python 爬虫解析库的使用 解析库的使用--Beautiful Soup:
python 获取li的内容_Python 爬虫解析库的使用 解析库的使用--Beautiful Soup:

 解析库的使用--Beautiful Soup:

  • BeautifulSoup是Python的一个HTML或XML解析库,最主要的功能就是从网页爬取我们需要的数据。
  • BeautifulSoup将html解析为对象进行处理,全部页面转变为字典或者数组,相对于正则表达式的方式,可以大大简化处理过程。
  • Beautiful Soup3 目前已经停止开发,我们推荐在现在的项目中使用Beautiful Soup4,
python 获取li的内容_Python 爬虫解析库的使用 解析库的使用--Beautiful Soup:
python 获取li的内容_Python 爬虫解析库的使用 解析库的使用--Beautiful Soup:

1. BeautifulSoup 安装与使用:

  • Beautiful Soup是一个依赖于lxml的解析库,所以在安装之前要先确保lxml库已安装:

    pip install lxml

  • 安装 BeautifulSoup 解析器:
  • 官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/
  • 中文文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/
  • PyPI: https://pypi.python.org/pypi/beautifulsoup4
  • 主要的解析器,以及它们的优缺点:
解析器 使用方法 优势 劣势
Python标准库 BeautifulSoup(markup, "html.parser") Python的内置标准库,执行速度适中,文档容错能力强 Python 2.7.3 or 3.2.2前的版本中文档容错能力差
lxml HTML 解析器 BeautifulSoup(markup, "lxml") 速度快 文档容错能力强 需要安装C语言库
lxml XML 解析器

BeautifulSoup(markup, ["lxml-xml"])

BeautifulSoup(markup, "xml")

速度快 唯一支持XML的解析器 需要安装C语言库
html5lib BeautifulSoup(markup, "html5lib") 最好的容错性,以浏览器的方式解析文档,生成HTML5格式的文档 速度慢、不依赖外部扩展
  • lxml解析器有解析html和xml的功能,而且速度快,容错能力强,故推荐使用。
  • 快速使用案例:
# 导入模块
           

2. 节点选择器:

  • 直接调用节点的名称就可以选择节点元素,再调用string属性就可以得到节点内的文本了,这种方式速度非常快。
  • ① 选择元素:
  • ② 提取信息:
  • ③ 嵌套选择:
#获取网页中第一个li中的第一个a元素节点
           
  • ④ 关联选择:
  • 我们在做选择的时候,难免有时候不能够一步就选到想要的节点元素。
  • 需要先选中某一个节点元素,然后再基于这些继续向下选择(子,父,兄弟)。
#....
           

3. 方法选择器:

  • ① find_all() -- 传入属性或文本,返回所有符合条件的元素 格式:

    find_all(name,attrs,recursive,text, **kwargs )

# 导入模块
           
  • ② find() -- 传入属性或文本,返回所有符合条件的第一个元素

4. CSS选择器:

# 导入模块
           
python 获取li的内容_Python 爬虫解析库的使用 解析库的使用--Beautiful Soup:
python 获取li的内容_Python 爬虫解析库的使用 解析库的使用--Beautiful Soup:

岁月有你,惜惜相处

发现更多精彩

关注公众号

python 获取li的内容_Python 爬虫解析库的使用 解析库的使用--Beautiful Soup:
python 获取li的内容_Python 爬虫解析库的使用 解析库的使用--Beautiful Soup:

来都来了,点个在看再走吧~~~

python 获取li的内容_Python 爬虫解析库的使用 解析库的使用--Beautiful Soup:

继续阅读