CSS布局基础(五)--选择器

html-css013

CSS布局基础(五)--选择器,第1张

一、简单的选择器

1)标签选择器

与网页元素同名,用的最多,也简单,即直接作用于与该选择器名字相同的标签

2) 类选择器

能够为网页对象定义不同的样式类,实现不同元素拥有相同的样式,相同元素的不同对象拥有不同样式

3)类选择器和标签结合在一起==>指定类选择器

指定该类用于特定的标签范围内

4)ID选择器(ID唯一)

这个就不举例讲解了,类比类选择器,把"."换成"# "即可

5)通配选择器

如果所有元素都需要定义相同的样式,推荐使用通配选择器

二、复合选择器

1)子选择器

2)相邻选择器(二者有相同父元素)

**利用相邻的兄弟元素来控制,即相邻选择器就是指定一个元素相邻的下一个元素的样式。相邻的选择器使用+表示

3)包含选择器(后代选择器)

第一对象一定要内包含第二对象

4)选择器嵌套

5)属性选择器

属性选择器就是利用网页标签包含的属性及其属性值来定义特定对象或一定范围元素的样式。

1.匹配属性名选择器

2.扩展

3.匹配属性值选择器

4.模糊匹配属性值选择器

类似正则表达式

6)伪选择器和伪元素选择器

标签之间可以通过逗号隔开来设定多个标签的CSS样式

让适合的人走进你的生活吧,让旧梦逝去吧,让不合适的那个离开吧。人生,看轻看淡多少,痛苦就离开你多少。因为看轻,所以快乐!

使用关键字传参,如果参数名不是find系函数已定义的位置参数名,参数会被kwargs收集并被当做 标签的属性来搜索 (拥有ID属性的标签)。

属性的传参可以是字符串、正则表达式对象、True、列表。

class是Python关键字,所以使用 class_ 。class是多值属性,可以匹配其中任意一个,也可以完全匹配。

属性:attrs接收一个字典, 字典的key为属性名, value可以是字符串、正则表达式对象、True、列表

可以通过text参数 搜索文档中的字符串内容,接受字符串、正则表达式对象、True、列表

限制返回结果的数量

默认是递归搜索所有子孙节点,如果不需要请设置为False

find_all()是非常常用的方法,可以简化省略掉

find( name , attrs , recursive , text , **kwargs )

和JQuery一样,可以使用CSS选择器来查找节点

使用soup.select()方法,select方法支持大部分CSS选择器,返回列表。

CSS中,标签名直接使用,类名前加.点号,id名前加#井号。

搜索节点的目的往往是为了提取该节点的文本内容, 一般不需要HTML标记, 只需要文字

拿到一个Json字符串,如果想提取其中的部分内容,就需要遍历了。在遍历过程中进行判断。

还有一种方式,类似于XPath,叫做JsonPath。

下表中列出了对应了JSONPath以及对应的XPath用法

依然用豆瓣电影的热门电影的Json, 找到得分高于8分的

https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&page_limit=50&page_start=0

异步请求的数据在XHR中,request请求的html不一定有我们想要的数据;