常用語法
語法 | 說明 |
---|---|
* | 選擇所有節點 |
#container | 選擇id爲container的節點 |
.container | 選擇所有class包含container的節點 |
div,p 選擇所有 | div 元素和所有 p 元素 |
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://baidu.com”] | 選取所有href屬性爲http://baidu.com的a元素 |
a[href*=”baidu”] | 選取所有href屬性值中包含baidu的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元素 |
li:nth-child(2n) | 選取第偶數個li元素 |
a::attr(href) | 選取a標籤的href屬性 |
a::text | 選取a標籤下的文本 |
使用示例
scrapy shellhttp://blog.jobbole.com/102337/
1.提取title
>>> response.css(".entry-header h1::text").extract()[0]
2.提取日期
>>> response.css("p.entry-meta-hide-on-mobile::text").extract()[0].strip()
3、提取點贊數
>>> response.css(".vote-post-up h10::text").extract()[0]
4、提取收藏數
>>> response.css(".bookmark-btn::text").extract()[0]
5、提取評論數
>>> response.css("a[href='#article-comment'] span::text").extract()[0]
6.提取內容
>>> response.css ( ".entry" ).extract()[0]
7、提取tag標籤
>>> response.css(".entry-meta-hide-on-mobile a::text").extract()
參考:https://www.jianshu.com/p/b67d0d851c1a