1、通过标签选择

# 选择所有title标签
soup.select("title")
# 选择所有p标签中的第三个标签
soup.select("p:nth-of-type(3)") 相当于soup.select(p)[2]
# 选择body标签下的所有a标签
soup.select("body a")
# 选择body标签下的直接a子标签
soup.select("body > a")
# 选择id=link1后的所有兄弟节点标签
soup.select("#link1 ~ .mysis")
# 选择id=link1后的下一个兄弟节点标签
soup.select("#link1 + .mysis")

  2、通过类名查找

# 选择a标签,其类属性为mysis的标签
soup.select("a.mysis")

  

  3、通过id查找

# 选择a标签,其id属性为link1的标签
soup.select("a#link1")

  

  4、通过【属性】查找,当然也适用于class

# 选择a标签,其属性中存在myname的所有标签
soup.select("a[myname]")
# 选择a标签,其属性href=http://example.com/lacie的所有标签
soup.select("a[href='http://example.com/lacie']")
# 选择a标签,其href属性以http开头
soup.select('a[href^="http"]')
# 选择a标签,其href属性以lacie结尾
soup.select('a[href$="lacie"]')
# 选择a标签,其href属性包含.com
soup.select('a[href*=".com"]')
# 从html中排除某标签,此时soup中不再有script标签
[s.extract() for s in soup('script')]
# 如果想排除多个呢
[s.extract() for s in soup(['script','fram']

  

1、通过标签选择

1
2
3
4
5
6
7
8
9
10
11
12
# 选择所有title标签
soup.select("title")
# 选择所有p标签中的第三个标签
soup.select("p:nth-of-type(3)") 相当于soup.select(p)[2]
# 选择body标签下的所有a标签
soup.select("body a")
# 选择body标签下的直接a子标签
soup.select("body > a")
# 选择id=link1后的所有兄弟节点标签
soup.select("#link1 ~ .mysis")
# 选择id=link1后的下一个兄弟节点标签
soup.select("#link1 + .mysis")

  2、通过类名查找

1
2
# 选择a标签,其类属性为mysis的标签
soup.select("a.mysis")

  3、通过id查找

1
2
# 选择a标签,其id属性为link1的标签
soup.select("a#link1")

  4、通过【属性】查找,当然也适用于class

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 选择a标签,其属性中存在myname的所有标签
soup.select("a[myname]")
# 选择a标签,其属性href=http://example.com/lacie的所有标签
soup.select("a[href='http://example.com/lacie']")
# 选择a标签,其href属性以http开头
soup.select('a[href^="http"]')
# 选择a标签,其href属性以lacie结尾
soup.select('a[href$="lacie"]')
# 选择a标签,其href属性包含.com
soup.select('a[href*=".com"]')
# 从html中排除某标签,此时soup中不再有script标签
[s.extract() for s in soup('script')]
# 如果想排除多个呢
[s.extract() for s in soup(['script','fram']

soup.select的用法的更多相关文章

  1. linux c语言 select函数用法

    linux c语言 select函数用法 表头文件 #i nclude<sys/time.h> #i nclude<sys/types.h> #i nclude<unis ...

  2. Beautiful Soup库基础用法(爬虫)

    初识Beautiful Soup 官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/# 中文文档:https://www.crumm ...

  3. 数据库中增加操作insert into的用法和查询select的用法

    insert into的用法 1.一条insert into 可以插入多条记录 2.insert into 能判断主键是否冲突,和做出冲突处理 如果主键冲突的话会报错,还能写成如果冲突就更新的形式格式 ...

  4. select()函数用法二

    Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect.accept.recv或recvfrom这样的阻塞程序 ...

  5. golang的select典型用法

    golang 的 select 的功能和 select, poll, epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作. 示例: ch1 := make (chan in ...

  6. mysql select简单用法

    1.select语句可以用回车分隔 $sql="select * from article where id=1" 和 $sql="select * from artic ...

  7. LINQ学习:Select的用法

    转载于:http://www.cnblogs.com/ForEvErNoME/archive/2012/07/25/2606659.html 说明:在查询表达式中,select 子句可以指定将在执行查 ...

  8. SQL语句中的select高级用法

    #转载请联系 为了更好的了解下面的知识点,我们先创建两张表并插入数据. # 学生表 +----+-----------+------+--------+--------+--------+------ ...

  9. SQL SERVER 2012 第三章 T-SQL 基本SELECT语句用法,Where子句详细用法

    select [all|distinct] [top (<expression>) [Percent] [with ties]] <column list> [from < ...

随机推荐

  1. 2. 代理模式(C++)

    1.介绍 代理模式:为其他对象提供一种代理以控制对这个对象的访问.这样实现了业务和核心功能分离. 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口.在某些情况下,一个对象不适合或者不能 ...

  2. 后缀自动机专题(hihocoder)

    传送门 #1445 : 后缀自动机二·重复旋律5 题意: 给出字符串\(s\),询问字符串\(s\)中有多少不同的子串. 思路: 考虑对\(s\)建后缀自动机,那么\(\sum (len[i]-len ...

  3. Google Chrome 解决 “您的连接不是私密连接” 和被毒霸劫持

    一.解决 “您的连接不是私密连接” 前一段时间,Chrome 突然显示出了“您的连接不是私密连接”,这下可难受了,大部分的网站打开都有问题. 找了各种方法,各种设置都是不行. 一.暴力.费力的方法直接 ...

  4. centos7删除PHP怎么操作

    前面我们说了centos7删除MariaDB,现在我们说说centos7删除PHP怎么操作?当然不是特殊需要,不要去删除PHP,后果很严重.操作之前请做好所有的备份!首先查看有没安装php以及版本 # ...

  5. gitlab的搭建和使用(转)

    工作当中常用的GitHub比较好用,但是安全性不是太强,因为github完全开源的,安全性不高 有空搞一下,先记录几个博客 https://yq.aliyun.com/articles/44531 h ...

  6. [KCOJ3393]上马

    题目描述 Description Chicken在IEC(International Equestrianism Competition(国际马术表演赛))惨跪,没有成功的上到马,他深刻的记得他的选手 ...

  7. C# PKCS7加密解密

    //加密字符串 public string Encryption(string toE) { //加密和解密必须采用相同的key,具体自己填写,但是必须为32位 "); RijndaelMa ...

  8. github下载速度慢甚至多次失败,通过码云的导入功能导入github项目到码云上,然后再从码云下载

    github下载速度慢甚至多次失败,通过码云的导入功能导入github项目到码云上,然后再从码云下载 参考 https://blog.csdn.net/kcx64/article/details/83 ...

  9. Docker 版rocketmq部署

    rocketmq 部署启动指南-Docker 版   最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑. 准备工作# ...

  10. word 转 pfd

    转自: https://www.cnblogs.com/qiwu1314/p/6101400.html demo: public class Doc2Pdf { public static boole ...