当前位置:首页 > 前端技术 > 写CSS选择器时标签的class属性值中有空格的问题

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

1 问题描述

HTML代码片段为:

<div class="alert alert-warning">
  请至“随书下载”下载本书的示例程序。
</div>
<div class="book-intro readmore">
   本书通过正在学习机器学习的程序员绫乃和她朋友美绪的对话,结合回归和分类的具体问题,逐步讲解了机器学习中实用的数学基础知识。其中,重点讲解了容易成为学习绊脚石的数学公式和符号。同时,还通过实际的Python 编程讲解了数学公式的应用,进而加深读者对相关数学知识的理解。
      </div>

要想抓取<div class="book-intro readmore">...</div>标签中的文本,根据我写css选择器的经验,写为:

div.“book-intro readmore”

但是运行结果出错:
写CSS选择器时标签的class属性值中有空格的问题 _ JavaClub全栈架构师技术笔记
看来,我想当然的解决方案行不通。

2 解决方案

标签的属性值中凡是出现空格的地方,在写CSS选择器的时候,都用.代替,即本例的CSS选择器应该写成:

'div.book-intro.readmore'

接下来给出完整的代码:

# iTuringScrape.py
# 2020-08-27

import requests
from bs4 import BeautifulSoup

url = "https://www.ituring.com.cn/book/2636"
req = requests.get(url)
bs = BeautifulSoup(req.text,features='html.parser')

sr = bs.select('div."book-intro readmore"')
#sr = bs.select('div.book-intro.readmore')
print(sr)

作者:阿智智
来源链接:https://blog.csdn.net/RobertChenGuangzhi/article/details/108068695


版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/front/68722.html

标签: css标签
分享给朋友: