scrapy中的css選擇器

2021-09-14 06:35:11 字數 3362 閱讀 7792

①response.css('a')返回的是selector物件,

②response.css('a').extract()返回的是a標籤物件

③response.css('a::text').extract_first()返回的是第乙個a標籤中文字的值

④response.css('a::attr(href)').extract_first()返回的是第乙個a標籤中href屬性的值

⑤response.css('a[href*=image]::attr(href)').extract()返回所有a標籤中href屬性包含image的值

⑥response.css('a[href*=image] img::attr(src)').extract()返回所有a標籤下image標籤的src屬性

在 css 中,選擇器是一種模式,用於選擇需要新增樣式的元素。

"css" 列指示該屬性是在哪個 css 版本中定義的。(css1、css2 還是 css3。)

選擇器例子

例子描述

css.class

.intro

選擇 class="intro" 的所有元素。

1#id

#firstname

選擇 id="firstname" 的所有元素。1*

*選擇所有元素。

2element

p選擇所有 元素。

1element,element

div,p

選擇所有 元素和所有 元素。

1element

element

div p

選擇 元素內部的所有 元素。

1element>element

div>p

選擇父元素為 元素的所有 元素。

2element+element

div+p

選擇緊接在 元素之後的所有 元素。

2[attribute]

[target]

選擇帶有 target 屬性所有元素。

2[attribute=value]

[target=_blank]

選擇 target="_blank" 的所有元素。

2[attribute~=value]

[title~=flower]

選擇 title 屬性包含單詞 "flower" 的所有元素。

2[attribute|=value]

[lang|=en]

選擇 lang 屬性值以 "en" 開頭的所有元素。

2:link

a:link

選擇所有未被訪問的鏈結。

1:visited

a:visited

選擇所有已被訪問的鏈結。

1:active

a:active

選擇活動鏈結。

1:hover

a:hover

選擇滑鼠指標位於其上的鏈結。

1:focus

input:focus

選擇獲得焦點的 input 元素。

2:first-letter

p:first-letter

選擇每個 元素的首字母。

1:first-line

p:first-line

選擇每個 元素的首行。

1:first-child

p:first-child

選擇屬於父元素的第乙個子元素的每個 元素。

2:before

p:before

在每個 元素的內容之前插入內容。

2:after

p:after

在每個 元素的內容之後插入內容。

2:lang(language)

p:lang(it)

選擇帶有以 "it" 開頭的 lang 屬性值的每個 元素。

2element1~element2

p~ul

選擇前面有 元素的每個 元素。

選擇其 src 屬性值以 "https" 開頭的每個 元素。

3[attribute$=value]

a[src$=".pdf"]

選擇其 src 屬性以 ".pdf" 結尾的所有 元素。

3[attribute*=value]

a[src*="abc"]

選擇其 src 屬性中包含 "abc" 子串的每個 元素。

3:first-of-type

p:first-of-type

選擇屬於其父元素的首個 元素的每個 元素。

3:last-of-type

p:last-of-type

選擇屬於其父元素的最後 元素的每個 元素。

3:only-of-type

p:only-of-type

選擇屬於其父元素唯一的 元素的每個 元素。

3:only-child

p:only-child

選擇屬於其父元素的唯一子元素的每個 元素。

3:nth-child(n)

p:nth-child(2)

選擇屬於其父元素的第二個子元素的每個 元素。

3:nth-last-child(n)

p:nth-last-child(2)

同上,從最後乙個子元素開始計數。

3:nth-of-type(n)

p:nth-of-type(2)

選擇屬於其父元素第二個 元素的每個 元素。

3:nth-last-of-type(n)

p:nth-last-of-type(2)

同上,但是從最後乙個子元素開始計數。

3:last-child

p:last-child

選擇屬於其父元素最後乙個子元素每個 元素。

3:root

:root

選擇文件的根元素。

3:empty

p:empty

選擇沒有子元素的每個 元素(包括文字節點)。

3:target

#news:target

選擇當前活動的 #news 元素。

3:enabled

input:enabled

選擇每個啟用的 元素。

3:disabled

input:disabled

選擇每個禁用的 元素

3:checked

input:checked

選擇每個被選中的 元素。

3:not(selector)

:not(p)

選擇非 元素的每個元素。

3::selection

::selection

選擇被使用者選取的元素部分。

3

scrapy中css選擇器初識

由於最近做爬取專案,涉及到網頁中資訊的選擇,所以邊做邊學了點皮毛,有自己的心得 hjsons json.loads response.body img datas hjsons data ifhjsons for data in img datas try item bd item print da...

Scrapy之css選擇器

response.css 標籤名 標籤名的話可以是html標籤比如 title body div,也可以是你自定義的class標籤。例子 response.css title extract 對結果以列表的形式進行返回 extract first 對extract 返回的結果列表取第乙個元素。res...

CSS中的選擇器

1.關係選擇器 a.後代選擇器特點 父元素 子元素,中間是空格什麼都不加 b.兒子選擇器的特點 父元素 子元素,中間是 號 c.相鄰選擇器特點 元素 元素,中間用 號,但是兩者要為同一級才行 d.兄弟選擇器特點 元素 元素,兄弟元素中間用 號,必須要兩個為同一級 2.屬性選擇器 a.格式是標籤名 屬...