beautifulsoup4使用

一、beautifulsoup4(美味的汤)

1.它通过定位HTML的标签来格式化和组织复杂的网络信息。
2.beautifulsoup4不是python的标准库,所以需要自己安装。
3.其官方文档—中文版

安装

  • Windows系统安装

    • pip install beautifulsoup4
  • 可以进行简单的测试

      from bs4 import BeautifulSoup
    

    如果没有问题就说明安装没有问题

二、beautifulsoup4 的使用

1、bs4 中最常用的模块就是BeautifulSoup

  • 例如下面的代码,抓取整个页面,生成一个BeautifulSoup对象

      from urllib.request import urlopen
      from bs4 import BeautifulSoup
      html = urlopen('http://www.pythonscraping.com/pages/page1.html')
      bsObj = BeautifulSoup(html)
    
  • 通过BeautifulSoup对象,可以抽取想要的内容

  • 下面的代码会抽取包含在<span class=“green”></span>标签内的文字

      namelist = bsObj.findAll('span',{'class':'green'})
    
  • 然后通过for循环逐一打印出来

      for name in namelist:
      	print(name.get_text())
    
  • 此处关于get_text()的用法说明一下

    • get_text()会把正在处理的HTMl文档中的所有标签全部清除,返回一个只包含文字的字符串。

2、BeautifulSoup中的find() 函数和findAll()函数

  • 文档里关于两个函数的定义是这样的

      find(tag, attributes, recursive, text, keywords)
      findAll(tag, attributes, recursive, text, limit, keywords)
    
  • 其中:

    • tag: 标签参数
      可以传入一个或者多个标签的名称组成的python列表作为标签参数
    • attributes: 属性参数
      是一个用字典封装一个标签的若干属性和属性值
    • recursive: 递归参数
      是一个布尔值
      如果设置为True,就会根据要求去抓取标签参数的所有子标签,以及子标签的所有子标签。
      如果设置为False,就职查找文档的一级标签。
    • text: 文本参数
      他是用你标签的文本内容去匹配,而不是用标签的属性
    • limit: 范围限制参数
      find函数其实就相当于findAll函数的limit参数设置为1时的情形
    • keyword: 关键词参数
      可以选择具有指定属性的标签

3、BeautifulSoup中其他的对象

  • NavigableString对象
    用来表示标签里的文字
  • Comment对象
    用来查找HTML文档的注释标签
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值