基于bs4库的HTML查找方法
基于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查找方法的更多相关文章
- 基于bs4库的HTML内容查找方法
一.信息提取实例 提取HTML中所有的URL链接 思路:1)搜索到所有的<a>标签 2)解析<a>标签格式,提取href后的链接内容 >>> import r ...
- 基于bs4库的HTML标签遍历方法
基于bs4库的HTML标签遍历方法 import requests r=requests.get('http://python123.io/ws/demo.html') demo=r.text HTM ...
- java 调用 库文件错误查找方法
第一步首先找到 backtrace:keyword,然后找到都应的库文件 出错的地方 pc 0000088b /system/lib/libNDK_04.so (SayHello+98). 08-1 ...
- 《爬虫学习》(四)(使用lxml,bs4库以及正则表达式解析数据)
1.XPath: XPath(XML Path Language)是一门在XML和HTML文档中查找信息的语言,可用来在XML和HTML文档中对元素和属性进行遍历. 工具:扩展商店里搜索:XPath ...
- Tair LDB基于Prefixkey中期范围内查找性能优化项目总结
"Tair LDB基于Prefixkey该范围内查找性能优化"该项目是仅一个月.这个月主要是熟悉项目..以下从几个方面总结下个人在该项目上所做的工作及自己的个人所得所感. 项目工作 ...
- Python 每日提醒写博客小程序,使用pywin32、bs4库
死循环延迟调用方法,使用bs4库检索博客首页文章的日期是否与今天日期匹配,不匹配则说明今天没写文章,调用pywin32库进行弹窗提醒我写博客.
- WebGIS中基于控制点库进行SHP数据坐标转换的一种查询优化策略
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.前言 目前项目中基于控制点库进行SHP数据的坐标转换,流程大致为:遍 ...
- 基于jsmpeg库下使用ffmpeg创建视频流连接websocket中继器传输视频并播放
这个功能的基本工作是这样的: 1.使用node运行jsmpeg库下的websocket-relay.js文件,这个文件的作用是创建一个websocket视频传输中继器 2.运行ffmpeg,将输出发送 ...
- 在linux下制作静态库和动态链接库的方法
静态库 .o文件的集合 制作 ar -cr libxxx.a xxx1.o xxx2.o xxx3.o ... 编译 gcc main.c -l xxx [-L 库路径] (如果不加-L则在标准库路径 ...
随机推荐
- 解决 Failed to start LSB: Bring up/down networking 问题
我用的是虚拟机,一换网络环境虚拟机的ip就没有了,重启网上就报Failed to start LSB: Bring up/down networking错误.网上查了一圈说什么HWADDR有问题,改了 ...
- 【leetcode】689. Maximum Sum of 3 Non-Overlapping Subarrays
题目如下: In a given array nums of positive integers, find three non-overlapping subarrays with maximum ...
- JavaWeb面试篇(6)
51.说一说Servlet的生命周期? Servlet有良好的生存期的定义,包括加载和实例化.初始化.处理请求以及服务结束.这个生存期由javax.servlet.Servlet接口的init(),s ...
- Linux培训教程 Git在linux下的使用
*初始化git仓库,使用gitinit命令 *添加文件到git仓库分两步: 1.使用git add filename ;可分多次使用,添加多个文件到暂存区 2.使用git commit -m “ ...
- [luogu]P2657低头一族[树状数组]
[luogu]P2657 低头一族 题目描述 一群青年人排成一队,用手机互相聊天. 每个人的手机有一个信号接收指标,第i个人的接收指标设为v[i]. 如果位置在x[i]的人要和位置在xj的人聊天,那么 ...
- Flume的断点续传解决
根据需求,首先定义以下3大要素 采集源,即source——监控文件内容更新 : exec ‘tail -F file’ 下沉目标,即sink——HDFS文件系统 : hdfs sink Sou ...
- Vue 中 双向绑定数据
1.文本 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...
- python调用c++类方法(2)
testpy.cpp: #include<iostream> #include<vector> struct point{ float pointx; float pointy ...
- CV-会议
摘自:https://blog.csdn.net/zhaomengszu/article/details/7834738 中国计算机学会推荐国际学术会议(人工智能与模式识别) 一.A类 序号 会议简称 ...
- python - from … import …
from . import XXX 默认的就是在当前程序所在文件夹里__init__.py程序中导入XXX from .A import XXX 如果当前程序所在文件夹里没有 ...