基于bs4库的HTML查找方法

find_all方法

<>.find_all(name,attrs,recursive,string,**kwargs)

返回一个列表类型,内部存储查找的结果

name

对标签名称的检索字符串

import requests
from bs4 import BeautifulSoup r=requests.get('http://python123.io/ws/demo.html')
demo=r.text
soup=BeautifulSoup(demo,'html.parser')
list_a=soup.find_all('a')# 查找多个标签
for item in list_a:
print(item) list_a_b=soup.find_all(['a','b'])#查找多个标签 print("------------") for item in list_a_b:
print(item) # 查找所有的标签 for tag in soup.find_all(True):
print(tag.name)

attrs

对标签属性值检索的字符串,可标注属性检索

# 查找对应属性的标签
print(soup.find_all('p','course')) #查找对一个id的信息
print(soup.find_all(id='link1'))

recursive

是否针对子孙节点全部进行搜索,默认是True

soup.find_all('a',recursive=False)#不对子孙节点进行搜索

简写

(...)等价于.find_all()

soup(...)等价于soup.find_all()

扩展方法

方法 说明
<>.find() 搜索仅仅返回一个结果,字符串类型,同find_all参数
<>.find_parents() 在先辈中搜索,返回列表类型,同find_all参数
<>.find_parent() 在先辈节点中返回一个结果,字符串类型,同find参数
<>.find_next_siblings() 在后续平行节点中搜索,返回列表类型,同find参数
<>.find_next_sibling() 在后续平行节点返回一个结果,字符串类型,同find参数
<>.find_previous_siblings() 在前序平行节点中搜索,返回列表类型,同find参数
<>.find_previous_sibling() 在前序平行节点返回一个结果,字符串类型,同find参数

最新文章

  1. 中国CIO最关心的八大问题(上)
  2. HTML5中使用图片传递密文
  3. iOS 开发技巧收藏贴 链接整理
  4. javascript 中继承实现方式归纳
  5. 入门 ARM 汇编(二)—— 寻址方式
  6. [Linux] 获得系统位数
  7. WPF 自定义控件
  8. CM12同步源码及编译教程
  9. 使用java自带的定时任务ScheduledThreadPoolExecutor
  10. 两行代码搞定UITableView无数据无网络显示-b
  11. 【win8技巧】去掉Win8导航菜单下面的这台电脑其他的文件夹
  12. JPA @PersistenceContext和@Transactional Annotation
  13. [SQL基础教程] 4-4 事务
  14. 云+社区分享——腾讯云OCR文字识别
  15. 类String 常用方法
  16. Nginx 常见问题
  17. 为什么以sys无法远程登录数据库
  18. odoo qweb 记录
  19. 使用Maven自动部署Java Web项目到Tomcat问题小记
  20. Lucene 4.8 - Facet Demo

热门文章

  1. Codeforces Gym 101505C : Cable Connection (计算几何)
  2. Burpsuite查看和修改请求
  3. python-魔法属性和反射
  4. HDU1022--Train Problem I(栈的应用)
  5. Vue v-if以及 v-else 的使用
  6. mysql数据库表反向生成modes类
  7. 64位 Qt5.12 MySql 连接问题
  8. python连接字符串的几种方法--转子(香草拿铁的园子)
  9. freetype相关总结
  10. maven依赖传递和排除依赖冲突