博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bs4 CSS选择器
阅读量:6185 次
发布时间:2019-06-21

本文共 1336 字,大约阅读时间需要 4 分钟。

#https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html#find-all

#beautifulSoup可以解析HTML,下载安装时使用的是 pip install beautifulsoup4  ,导入模块时使用的是bs4.

 

import bs4

 

noStarchSoup=bs4.BeautifulSoup(res.text)

#bs4.BeautifulSoup()函数返回的是一个BeautifulSoup对象。

 

 

#也可以像BeautifulSoup()传递一个File对象。

exampleFile=open('usePythonDownloadHtml.html')

exampleSoup=bs4.BeautifulSoup(exampleFile.read())

#CSS选择器的匹配模式

'''

传递给select()方法的选择器          将匹配...

soup.select('div')                   所有名为<div>的元素

soup.select('#author')               带有id属性为author的元素

soup.select('.notice')               所有使用CSS class 属性名为notice的元素

soup.select('div span')              所有在<div>元素之内的<span>元素

soup.select('div > span')            所有直接在<div>元素之内的<span>元素,中间没有其他元素

soup.select('input[name]')           所有名为<input>,并有一个name属性,其值无所谓的元素

soup.select('input[type="button"]')  所有名为<input>,并有一个type属性,其值为bottom的元素

'''

 

#不同的选择器模式可以组合起来,形成复杂的匹配。例如,soup.select('p#author')将匹配所有id属性为author的元素,只要它也在一个<p>元素之内。

#select()方法将返回一个tag对象的列表。Tag的值可以传递给str()函数,显示它们代表的Html标签。Tag值也可以有attrs属性,它将该Tag的属性作为一个字典。

 

elems=exampleSoup.select('p')  #查找出"id=author"的元素,返回的elems为一个list.

#len(elems) 返回值为1,说明列表中只有一个tag对象。

print(elems[0].getText(),'1' )#返回该元素的文本,或内部的HTML。一个元素的文本是在开始和结束标签之间的内容。

print(str(elems[0]),'2' ) #将返回一个字符串,其中包含开始和结束标签,以及该元素得到文本。

print(elems[0].attrs,'3') #返回一个字典包含元素的属性名与属性值。

print(elems[0].get('id'),'4')#返回元素的属性‘id'的值。

转载于:https://www.cnblogs.com/Ting-light/p/9547355.html

你可能感兴趣的文章
《App数据分析到底要分析什么》
查看>>
代码分层的设计之道
查看>>
ECharts 全新大版本 4.0 正式发布!百度数据可视化实验室成立
查看>>
我的MacBook应用清单
查看>>
[译] State of Vue.js report 2017 中文版
查看>>
CSS3动画卡顿性能优化解决方案
查看>>
【从零开始学习 MySql 数据库】(3) 函数与子查询和连接查询
查看>>
单链表复制你已经会了,如果我们再加个指针...
查看>>
(连载)Android 8.0 : 系统启动流程之Linux内核
查看>>
每天学习一点JVM之:垃圾回收机制
查看>>
06、React系列之 使用browserify管理
查看>>
从零实现Vue的组件库(一)- Toast 实现
查看>>
0x02. 处理窗口关闭
查看>>
田奇:行人再识别的挑战和最新进展
查看>>
WebRTC实操经验分享:如何快速构建音视频通话APP?
查看>>
06.Java虚拟机问题
查看>>
App启动流程
查看>>
基于Vue的事件响应式进度条组件
查看>>
React制作个人博客小结
查看>>
underscore 系列之如何写自己的 underscore
查看>>