python 爬虫 css提取网页内容

本文介绍了Python爬虫中使用CSS选择器来提取网页内容的方法,包括CSS选择器的基本语法,并强调在使用前需将文本转化为可操作的对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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
4elementp选择所有< p >元素1
5element,elementdiv,p选择所有< div >元素和< p >元素1
6element elementdiv p选择
元素内的所有

元素

1
7element>elementdiv>p选择所有父级是 < div > 元素的 < p > 元素2
8element+elementdiv+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:linka:link选择所有未访问链接1
14:visiteda:visited选择所有访问过的链接1
15:activea:active选择活动链接1
16:hovera:hover选择鼠标在链接上面时1
17:focusinput:focus选择具有焦点的输入元素2
18:first-letterp:first-letter选择每一个< P >元素的第一个字母1
19:first-linep:first-line选择每一个< P >元素的第一行1
20:first-childp:first-child指定只有当< p >元素是其父级的第一个子级的样式。2
21:beforep:before在每个< p >元素之前插入内容2
22:afterp:after在每个 < p > 元素之后插入内容2
23:lang(language)p:lang(it)选择一个lang属性的起始值="it"的所有

元素

2
24element1~element2p~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-typep:first-of-type选择每个p元素是其父级的第一个p元素3
29:last-of-typep:last-of-type选择每个p元素是其父级的最后一个p元素3
30:only-of-typep:only-of-type选择每个p元素是其父级的唯一p元素3
31:only-childp: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-childp:last-child选择每个p元素是其父级的最后一个子级。3
37:root:root选择文档的根元素3
38:emptyp:empty选择每个没有任何子级的p元素(包括文本节点)3
39:target#news:target选择当前活动的#news元素(包含该锚名称的点击的URL)3
40:enabledinput:enabled选择每一个已启用的输入元素3
41:disabledinput:disabled选择每一个禁用的输入元素3
42:checkedinput: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用于匹配输入值为非法的元素
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值