python 爬虫 css提取网页内容

四大提取网页内容的基本方法之

4.css提取网页内容 语法简单一览

CSS选择器用于选择你想要的元素的样式的模式。
"CSS"列表示在CSS版本的属性定义(CSS1,CSS2,或对CSS3)。

在使用css之前需要把文本转换成一个对象

如:

from scrapy.selector import Selector
selector = Selector(text=html)  #转换成一个对象
序号 选择器 示例 示例说明 CSS
1 .class .intro 选择所有class="intro"的元素 1
2 #id #firstname 选择所有id="firstname"的元素 1
3 * * 选择所有元素 2
4 element p 选择所有< p >元素 1
5 element,element div,p 选择所有< div >元素和< p >元素 1
6 element element div p 选择
元素内的所有

元素

1
7 element>element div>p 选择所有父级是 < div > 元素的 < p > 元素 2
8 element+element div+p 选择所有紧接着< div >元素之后的< p >元素 2
9 [attribute] [target] 选择所有带有target属性元素 2
10 [attribute=value] [target=-blank] 选择所有使用target="-blank"的元素 2
11 [attribute~=value] [title~=flower] 选择标题属性包含单词"flower"的所有元素 2
12 [attribute|=language] [lang|=en] 选择一个lang属性的起始值="EN"的所有元素 2
13 :link a:link 选择所有未访问链接 1
14 :visited a:visited 选择所有访问过的链接 1
15 :active a:active 选择活动链接 1
16 :hover a:hover 选择鼠标在链接上面时 1
17 :focus input:focus 选择具有焦点的输入元素 2
18 :first-letter p:first-letter 选择每一个< P >元素的第一个字母 1
19 :first-line p:first-line 选择每一个< P >元素的第一行 1
20 :first-child p:first-child 指定只有当< p >元素是其父级的第一个子级的样式。 2
21 :before p:before 在每个< p >元素之前插入内容 2
22 :after p:after 在每个 < p > 元素之后插入内容 2
23 :lang(language) p:lang(it) 选择一个lang属性的起始值="it"的所有

元素

2
24 element1~element2 p~ul 选择p元素之后的每一个ul元素 3
25 [attribute^=value] a[src^=“https”] 选择每一个src属性的值以"https"开头的元素 3
26 [attribute$=value] a[src$=".pdf"] 选择每一个src属性的值以".pdf"结尾的元素 3
27 [attribute*=value] a[src*=“runoob”] 选择每一个src属性的值包含子字符串"runoob"的元素 3
28 :first-of-type p:first-of-type 选择每个p元素是其父级的第一个p元素 3
29 :last-of-type p:last-of-type 选择每个p元素是其父级的最后一个p元素 3
30 :only-of-type p:only-of-type 选择每个p元素是其父级的唯一p元素 3
31 :only-child p:only-child 选择每个p元素是其父级的唯一子元素 3
32 :nth-child(n) p:nth-child(2) 选择每个p元素是其父级的第二个子元素 3
33 :nth-last-child(n) p:nth-last-child(2) 选择每个p元素的是其父级的第二个子元素,从最后一个子项计数 3
34 :nth-of-type(n) p:nth-of-type(2) 选择每个p元素是其父级的第二个p元素 3
35 :nth-last-of-type(n) p:nth-last-of-type(2) 选择每个p元素的是其父级的第二个p元素,从最后一个子项计数 3
36 :last-child p:last-child 选择每个p元素是其父级的最后一个子级。 3
37 :root :root 选择文档的根元素 3
38 :empty p:empty 选择每个没有任何子级的p元素(包括文本节点) 3
39 :target #news:target 选择当前活动的#news元素(包含该锚名称的点击的URL) 3
40 :enabled input:enabled 选择每一个已启用的输入元素 3
41 :disabled input:disabled 选择每一个禁用的输入元素 3
42 :checked input:checked 选择每个选中的输入元素 3
43 :not(selector) :not§ 选择每个并非p元素的元素 3
44 ::selection ::selection 匹配元素中被用户选中或处于高亮状态的部分 3
45 :out-of-range :out-of-range 匹配值在指定区间之外的input元素 3
46 :in-range :in-range 匹配值在指定区间之内的input元素 3
47 :read-write :read-write 用于匹配可读及可写的元素 3
48 :read-only :read-only 用于匹配设置 “readonly”(只读) 属性的元素 3
49 :optional :optional 用于匹配可选的输入元素 3
50 :required :required 用于匹配设置了 “required” 属性的元素 3
51 :valid :valid 用于匹配输入值为合法的元素 3
52 :invalid :invalid 用于匹配输入值为非法的元素

猜你喜欢

转载自blog.csdn.net/IT_arookie/article/details/82827481