python爬蟲---css選擇器

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字符串  列表第一個位置 ;

 

                                 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章