bs4 CSS选择器
#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
bs4 CSS选择器相关推荐
- Python学习,还在用正则或者bs4做爬虫吗?来试试css选择器吧
之前写的一些爬虫都是用的正则.bs4.xpath做为解析库来实现,如果你对web有所涉及,并且比较喜欢css选择器,那么就有一个更适合的解析库-- PyQuery.我们就用一个非常简单的小例子来看看c ...
- CSS 选择器:BeautifulSoup4解析器
和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据. lxml 只会局部遍历,而Beautiful Soup 是基 ...
- 爬虫利器BeautifulSoup之CSS选择器的基本使用
1.Beautiful Soup简介 Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能.它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简 ...
- Python爬虫实例(3)--BeautifulSoup的CSS选择器
Python爬虫实例 紧接着上一讲的内容. 我们初步了解了bs4这个解析库. 但是bs4难道只有find,find_all了吗? 如果层次比较深,相似的元素比较多,和可能会写的比较长. 最主要的是很难 ...
- 利用CSS选择器爬取豆瓣上的图书
利用CSS选择器爬取豆瓣上的图书 主要技术:熟练掌握requests.BeautifulSoup 爬取图书链接 "https://book.douban.com/latest?icn=ind ...
- 网络爬虫CSS选择器详细讲解
网络爬虫CSS选择器详细讲解 前言 使用步骤 1.解析的HTML代码 2.逐层选择节点 3.获取文本(string和get_text()) 4.获取节点的属性值 5.选择单个和多个节点 6.通过cla ...
- Python中用Requests爬取名人名言网信息——基于BeautifulSoup和CSS选择器
效果预览 代码实现 也可用Scrapy框架实现,通过此代码可比较BeautifulSoup中CSS选择器和Scrapy中内置CSS选择器和Xpath用法的差别.Scrapy实现代码链接:https:/ ...
- 10分钟 GET 新技能 - CSS选择器
10分钟 GET 新技能 - CSS选择器 1. CSS选择器是什么? 2. CSS选择器 的基本规则 3. Python 流行库 BeautifulSoup 中使用 CSS选择器 10分钟 GET ...
- 写CSS选择器时标签的class属性值中有空格的问题
1 问题描述 HTML代码片段为: <div class="alert alert-warning">请至"随书下载"下载本书的示例程序. < ...
最新文章
- C++基础:C++类成员属性的一种简洁实现
- IDOC 创建,增强,管理,配置
- c语言姓名号码,c语言如何输入编号和姓名
- Mysql之乐观锁悲观锁:乐观锁检查数据状态 悲观锁更新时锁定数据
- 得到前i-1个数中比A[i]小的最大值,使用set,然后二分查找
- Springboot异步任务线程池
- 执行计划 分析一条sql语句的效率 mysql_mysql的SQL语句执行计划分析:EXPLAIN
- WSE2.0中X509安全令牌的使用
- local host 和 IP 相关的配置文件。
- OpenCV的Mat和Halcon的HObject类型互相转换
- php js多语言切换,php简单实现多语言切换的方法_php技巧
- 【求助】C# Charting控件 画散点图,当所有的点X=0时,X轴的位置画错了,代码如下...
- matlab实现macd策略,经典MACD交易策略
- 计算机考研复试-英文问答
- 服务器运维有夜班吗,运维倒班之所获
- DeepFlow: Deep Learning-Based Malware Detection by Mining Android Application
- Rsync 下行同步 + Inotify 实时同步详解
- 618 都疯了吗?这些书居然都不到半价!
- C语言经典问题10-计算a+aa+aaa+...的值
- 卡西欧计算机fx82cnx怎么玩游戏,卡西欧fx-82ES计算器乱码玩法问题