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

 

                                 

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