#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选择器相关推荐

  1. Python学习,还在用正则或者bs4做爬虫吗?来试试css选择器吧

    之前写的一些爬虫都是用的正则.bs4.xpath做为解析库来实现,如果你对web有所涉及,并且比较喜欢css选择器,那么就有一个更适合的解析库-- PyQuery.我们就用一个非常简单的小例子来看看c ...

  2. CSS 选择器:BeautifulSoup4解析器

    和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据. lxml 只会局部遍历,而Beautiful Soup 是基 ...

  3. 爬虫利器BeautifulSoup之CSS选择器的基本使用

    1.Beautiful Soup简介 Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能.它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简 ...

  4. Python爬虫实例(3)--BeautifulSoup的CSS选择器

    Python爬虫实例 紧接着上一讲的内容. 我们初步了解了bs4这个解析库. 但是bs4难道只有find,find_all了吗? 如果层次比较深,相似的元素比较多,和可能会写的比较长. 最主要的是很难 ...

  5. 利用CSS选择器爬取豆瓣上的图书

    利用CSS选择器爬取豆瓣上的图书 主要技术:熟练掌握requests.BeautifulSoup 爬取图书链接 "https://book.douban.com/latest?icn=ind ...

  6. 网络爬虫CSS选择器详细讲解

    网络爬虫CSS选择器详细讲解 前言 使用步骤 1.解析的HTML代码 2.逐层选择节点 3.获取文本(string和get_text()) 4.获取节点的属性值 5.选择单个和多个节点 6.通过cla ...

  7. Python中用Requests爬取名人名言网信息——基于BeautifulSoup和CSS选择器

    效果预览 代码实现 也可用Scrapy框架实现,通过此代码可比较BeautifulSoup中CSS选择器和Scrapy中内置CSS选择器和Xpath用法的差别.Scrapy实现代码链接:https:/ ...

  8. 10分钟 GET 新技能 - CSS选择器

    10分钟 GET 新技能 - CSS选择器 1. CSS选择器是什么? 2. CSS选择器 的基本规则 3. Python 流行库 BeautifulSoup 中使用 CSS选择器 10分钟 GET ...

  9. 写CSS选择器时标签的class属性值中有空格的问题

    1 问题描述 HTML代码片段为: <div class="alert alert-warning">请至"随书下载"下载本书的示例程序. < ...

最新文章

  1. C++基础:C++类成员属性的一种简洁实现
  2. IDOC 创建,增强,管理,配置
  3. c语言姓名号码,c语言如何输入编号和姓名
  4. Mysql之乐观锁悲观锁:乐观锁检查数据状态 悲观锁更新时锁定数据
  5. 得到前i-1个数中比A[i]小的最大值,使用set,然后二分查找
  6. Springboot异步任务线程池
  7. 执行计划 分析一条sql语句的效率 mysql_mysql的SQL语句执行计划分析:EXPLAIN
  8. WSE2.0中X509安全令牌的使用
  9. local host 和 IP 相关的配置文件。
  10. OpenCV的Mat和Halcon的HObject类型互相转换
  11. php js多语言切换,php简单实现多语言切换的方法_php技巧
  12. 【求助】C# Charting控件 画散点图,当所有的点X=0时,X轴的位置画错了,代码如下...
  13. matlab实现macd策略,经典MACD交易策略
  14. 计算机考研复试-英文问答
  15. 服务器运维有夜班吗,运维倒班之所获
  16. DeepFlow: Deep Learning-Based Malware Detection by Mining Android Application
  17. Rsync 下行同步 + Inotify 实时同步详解
  18. 618 都疯了吗?这些书居然都不到半价!
  19. C语言经典问题10-计算a+aa+aaa+...的值
  20. 卡西欧计算机fx82cnx怎么玩游戏,卡西欧fx-82ES计算器乱码玩法问题

热门文章

  1. C# WinForm只允许运行一个窗体实例
  2. 物联网的兴起与二维码的前景
  3. linux resouce,platform_device和platform_driver驱动的关系
  4. 应不应该使用inline-block代替float
  5. 树莓派学习笔记——交叉编译工具链
  6. Numpy中矩阵对象
  7. shell实例第14讲:字符串截取的8种方法
  8. 多态定义、多态实现、多态分类。
  9. 设计模式一:设计模式遵循的原则
  10. ython二十五: 解压序列