当前位置:   article > 正文

python爬虫——Beautiful Soup库(数据解析)模块讲解_爬虫soup

爬虫soup

一、概述

Beautiful Soup (简称bs4)是一个可以从HTML或XML文件中提取数据的Python库。提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。
注:Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。所以仅仅只需要说明一下原始编码方式就可以。


二、数据解析

数据解析就是将爬取到的整个页面中的局部的内容进行提取

python中常用的数据解析方式有以下三种:

  • bs4(python中独有的)
  • xpath(推荐,通用型强)
  • 正则

bs4数据解析原理

实例化一个BeautifulSoup对象,并且将页面源码数据加载到该对象中。而将页面源码数据加载到该对象中有两种方式,一种是将本地得html文档加载,另一种是将互联网上获取的页面源码加载
通过调用BeautifulSoup对象中相关的属性或者方法进行标签定位和数据提取


三、Beautiful Soup用法

举例说明:

html文件代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>爬虫的一天</title>
  6. </head>
  7. <body>
  8. <p class="a1" name="content1">
  9. <b>今天写一篇博客!</b>
  10. </p>
  11. <p class="a2" name="content2">
  12. <h3>什么!!!</h3>
  13. 你现在就要看?算了,给你链接自己去看吧!
  14. <a class="a3" href="http://www.xiaofeng.press/">
  15. 点开就可以看到博客哦!
  16. </a>
  17. </p>
  18. </body>
  19. </html>

python实例说明代码:

  1. html ='''<!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>爬虫的一天</title>
  6. </head>
  7. <body>
  8. <p class="a1" name="content1">
  9. <b>今天写一篇博客!</b>
  10. </p>
  11. <p class="a2" name="content2">
  12. <h3>什么!!!</h3>
  13. 你现在就要看?算了,给你链接自己去看吧!
  14. <a class="a3" href="http://www.xiaofeng.press/">
  15. 点开就可以看到博客哦!
  16. </a>
  17. </p>'''
  18. from bs4 import BeautifulSoup
  19. creep = BeautifulSoup(html,'lxml')#使用lxml解析库
  20. #print (soup.prettify())#格式化代码,可以自动补全
  21. print (creep.title.string)#输出网页title标签内容
  22. print (creep.title)
  23. print (type(creep.title))
  24. print (creep.head) #输出网页head标签全部内容
  25. print (creep.p) #这种方式只会输出第一个p标签
  26. print (creep.title.name)#获取title标签名
  27. print (creep.p['name'])#获取p标签中name的属性值
  28. print (creep.p.attrs['name'])#获取p标签中name的属性值
  29. print (creep.head.title.string)#嵌套输出网页title标签内容
  30. print (creep.p.contents)#以列表形式输出第一个p标签的子节点和内容

输出结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/109167
推荐阅读
相关标签
  

闽ICP备14008679号