python爬虫解析库BeautifulSoup速查

为了方便使用,将BeautifulSoup库常用的接口写到一起。

总结内容来源:《python3网络爬虫开发实战》崔庆才

导入与解析

from bs4 import Beat
soup = BeautifulSoup(response.text,'lxml')

节点选择器

提取属性

获取到的是第一个标签

  • soup.title.string:获取title标签的文本内容
  • soup.title.name:获取节点名称“title”
  • soup.p.attrs:获取节点属性字典
  • soup.p.attrs['class']或者soup.p['class']:获取节点属性

关联选择

子孙
  • soup.p.contents:获取直接子节点列表
  • soup.p.children:获取直接子节点生成器
  • soup.p.descendants:获取所有子孙节点生成器
祖先
  • soup.p.parent:获取直接父节点
  • soup.p.parents:获取所有祖先节点生成器
兄弟
  • soup.a.next_sibling:获取下一个兄弟节点
  • soup.a.previous_sibling:获取上一个兄弟节点
  • soup.a.next_siblings:获取后面所有兄弟节点列表
  • soup.a.previous_siblings:获取前面所有兄弟节点列表

方法选择器

find_all()

find_all(self, name=None, attrs={}, recursive=True, text=None,limit=None, **kwargs)

用法:

  • soup.find_all(name='ul'):获取所有ul节点组成的列表
  • soup.find_all(attrs={'id':'list'}):获取id为list的节点
  • 常用参数如id和class可以直接传入,如:soup.find_all(id = 'list')soup.find_all(class_='element')
  • soup.find_all(text=re.compile('link'))可以匹配文本,也可以用正则表达式对象

find()

返回第一个匹配的元素,和find_all用法差不多

其他

  • find_parents(),find_parent()
  • find_next_siblings(),find_next_sibling()
  • find_previous_siblings(),find_previous_sibling()
  • find_all_next(),find_next()返回节点后符合条件的节点
  • find_all_previous(),find_previous()

CSS选择器

soup.select('CSS选择器'):返回列表

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值