css選擇器是什麼?
要使用css對HTML頁面中的元素實現一對一,一對多或者多對一的控制,這就需要用到CSS選擇器。HTML頁面中的元素就是通過CSS選擇器進行控制的。
CSS選擇器主要用於選擇需要添加樣式的元素。
‘#’:代表選擇id節點,‘.’:代表class的節點;
獲取嵌套:加空格代表層級關係,不加空格代表並列關係;
css選擇器的詳細用法:
#container:選擇id爲container的節點
.container:選取所有class包含container的節點
Li a : 選取所有li下的所有a節點
Ul + p :選擇ul 後面的第一個p元素
Div#container>ul :選取id爲container的div的第一個ul子元素
Ul ~ P :選取與ul相鄰的所有p元素
a[title] :選取所有有title屬性的a元素
a[href=’http://jobbole.com’]:選取所有href屬性爲jobbole.com值的a元素
a[href*=”jobole”]:選取所有href屬性包含的jobbole的a元素;
a[href^=”http”] : 選取所有href屬性值爲http開頭的a元素;
a[href$=”.jpg”];選取所有href屬性值以.jpg結尾的a元素;
input[type=radio]:checked 選擇選中的radio的元素;
div:not(#container): 選取所有id非container的div屬性;
li:nth-child(3):選取第三個li元素;
tr: nth-child(2n):選取第偶數個tr;
Css的應用舉例:
Tiltle = response.css(".entry-header h1::text").extract()#提取title:*(用到僞類選擇器)
Create_data=response.css(".entry-meta-hide-on-mobile::text").extract()[0].strip().replace(“·”,” ”)
Comment_num = response.css("a[href='#article-comment'] span::text").extract()[0];
Content = response.css("div.entry").extract()[0]
Tags=response.css(".entry-meta-hide-on-mobile a::text").extract()[0]
Id選擇器唯一則用#定位
post_urls = response.css("#archive .floated-thumb .post-thumb a::attr(href)").extract()
for post_url in post_urls:
print(post_url)
ps: xpath解析返回的是一個選擇器列表;
extract() [0]:轉換爲Unicode字符串 列表第一個位置 ;