基于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参数

基于bs4库的HTML查找方法的更多相关文章

  1. 基于bs4库的HTML内容查找方法

    一.信息提取实例 提取HTML中所有的URL链接 思路:1)搜索到所有的<a>标签 2)解析<a>标签格式,提取href后的链接内容 >>> import r ...

  2. 基于bs4库的HTML标签遍历方法

    基于bs4库的HTML标签遍历方法 import requests r=requests.get('http://python123.io/ws/demo.html') demo=r.text HTM ...

  3. java 调用 库文件错误查找方法

    第一步首先找到 backtrace:keyword,然后找到都应的库文件 出错的地方 pc 0000088b  /system/lib/libNDK_04.so (SayHello+98). 08-1 ...

  4. 《爬虫学习》(四)(使用lxml,bs4库以及正则表达式解析数据)

    1.XPath: XPath(XML Path Language)是一门在XML和HTML文档中查找信息的语言,可用来在XML和HTML文档中对元素和属性进行遍历. 工具:扩展商店里搜索:XPath ...

  5. Tair LDB基于Prefixkey中期范围内查找性能优化项目总结

    "Tair LDB基于Prefixkey该范围内查找性能优化"该项目是仅一个月.这个月主要是熟悉项目..以下从几个方面总结下个人在该项目上所做的工作及自己的个人所得所感. 项目工作 ...

  6. Python 每日提醒写博客小程序,使用pywin32、bs4库

    死循环延迟调用方法,使用bs4库检索博客首页文章的日期是否与今天日期匹配,不匹配则说明今天没写文章,调用pywin32库进行弹窗提醒我写博客.

  7. WebGIS中基于控制点库进行SHP数据坐标转换的一种查询优化策略

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.前言 目前项目中基于控制点库进行SHP数据的坐标转换,流程大致为:遍 ...

  8. 基于jsmpeg库下使用ffmpeg创建视频流连接websocket中继器传输视频并播放

    这个功能的基本工作是这样的: 1.使用node运行jsmpeg库下的websocket-relay.js文件,这个文件的作用是创建一个websocket视频传输中继器 2.运行ffmpeg,将输出发送 ...

  9. 在linux下制作静态库和动态链接库的方法

    静态库 .o文件的集合 制作 ar -cr libxxx.a xxx1.o xxx2.o xxx3.o ... 编译 gcc main.c -l xxx [-L 库路径] (如果不加-L则在标准库路径 ...

随机推荐

  1. linux下部署nginx服务

    1.安装依赖包  yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2.下载并解压安装包  cd /usr/loc ...

  2. python学习理论

    结论 其实学python这本书 不一定要全部敲一遍 在“”动手试一试“”里面 把这篇学到的东西测试一下就算是掌握了 要在实际工作场景当中使用还需要进一步练习这样做的话 比较好一点 边学边测试 加深掌握 ...

  3. linux-ntp-10

    Unix/linux类:ntp.aliyun.com,ntp1-7.aliyun.com windows类: time.pool.aliyun.com s1a.time.edu.cn 北京邮电大学 s ...

  4. .NET面试题系列(十九)Socket网络异常类型

    序言 资料 异常测试之Socket网络异常

  5. HDU1022--Train Problem I(栈的应用)

    Problem Description As the new term comes, the Ignatius Train Station is very busy nowadays. A lot o ...

  6. Thymeleaf 1-入门与基本概述

    一.概述 1.是什么 简单说, Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完全替代 JSP . 2.feature 1.Thymeleaf 在有网络和 ...

  7. CodeChef---- February Challenge 2018----Points Inside A Polygon

    链接:https://www.codechef.com/FEB18/problems/POINPOLY Points Inside A Polygon Problem Code: POINPOLY Y ...

  8. 哈夫曼(Huffman)树及其应用

    Huffman树又称最优树,是一类带权路径长度最短的树,带权路径长度为从该节点到树根之间的路径长度与节点上权值的成积. 那么如何构建一个Huffman树呢?就需要Huffman算法 1.利用给定的n个 ...

  9. Mysql 5.7安装与配置-默认密码

    Mysql下载 官方下载路径:https://dev.mysql.com/downloads/mysql/ 网盘下载(windows 32-64): 链接:https://pan.baidu.com/ ...

  10. iOS证书发布推送相关知识科普

    账号种类 1.企业账号 299美刀 -- 可以自己发布App,不能发布到App Store 2.个人/公司账号 99美刀 -- 可以发布到App Store, 不可以自己发布不限安装数量的App 个人 ...