3.BeautifulSoup库

  1. 解析网页:
  • 导入BeautifulSoup:from bs4 import BeautifulSoup
  • 解析HTML或XML文件,只需设置对应的转换器即可
	import requests
	from bs4 import BeautifulSoup
	url=”http://baidu.com”
	r=requests.get(url)
	demo=r.text
	soup=BeautifulSoup(demo,”html.parser”) #两个参数:一个为html页面,另一个是解析器
	print(soup.prettify())#格式化html结构,更加美观的显示html页面信息
  1. 结构化数据的浏览:
  • soup:相当于树结构的根节点
  • soup.title:返回第一个, bs4.element.Tag类型

The Dormouse’s story

  • soup.title.name:返回标签名称,字符串str类型
    #‘title’

  • soup.title.string:获取的内容,返回值为bs4.element.NavigableString类型
    #‘The demo python introduces several python courses.’

  • soup.title.parent.name:返回第一个标签的父元素的名称
    #‘head’

  • soup.p:返回所有子孙中第一个

  • soup.p[‘class’]:返回第一个

    标签的class属性名称,结果为list列表类型
  • soup.a.attrs:返回第一个标签的所有属性值,结果为dict字典类型
    #{‘href’: ‘http://www.icourse163.org/course/BIT-268001’,
    ‘class’: [‘py1’],
    ‘id’: ‘link1’}
    #可以通过soup.a.attrs[‘class’]获取key为class的具体值

  • soup.find_all(name,attrs,recursive,string):结果为list形式

  • name为标签名称的检索字符串,可以为一个标签or读个标签名称的列表;如:soup.find_all(‘a’):返回所有的;soup.find_all([‘a’,’p’]):返回是所有的标签和

    标签
  • attrs:为字典形式,包含若干属性和对应的属性值,如:.find_all(‘span’,{‘id’:[’link1’,’link2’]}),找到所有的id为link1或link2的span标签

  • recursive:默认为True, 对子孙节点进行遍历;若为False,只对一级节点进行遍历

  • string:对标签的文本信息进行完全匹配,如:soup.find_all(‘a’,string=‘Advanced Python’),这里的string可以换成text;若想进行不完全匹配,可以soup.find_all(‘a’,string=re.compile(“Python”)),这里匹配的是包含python的字符串的标签a的列表

  • soup.find(id=”link3”):此用法和find_all相同,不过只返回第一个值;返回id=”link3”的第一个标签;soup.find(‘div’,‘articles-list’),默认为class

  • 当html结构中有注释时(b标签内部结构中有注释),通过soup.b.string并不会标志其为注释类型,但是其类型为bs4.element.Comment

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mrs.King_UP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值