網路爬蟲css選擇器知識貼(一)
阿新 • • 發佈:2018-12-26
css選擇器:
- #container 選擇id為container的元素
- .container 選擇所有class包含container的元素
- * 選擇所有元素
- div a 選取所有div下所有a元素
- ul + p 選取ul後面的第一個p元素
- ul ~p 選取與ul相鄰的所有p元素
- a:nth-child(2) 選取下面第二個標籤,如果是a的話則選取,不是則不取
- a:nth-child(2n) 選取第偶數個a元素
- a:nth-child(2n+1) 選取第奇數個a元素
- li.multi-chosen > a 選取class為multi-chosen的li的所有a元素
- a[title] 選取所有擁有title屬性的a元素
- a[href=”https://www.lagou.com/jobs/3537439.html”] 選取所有href屬性為https://www.lagou.com/jobs/3537439.html的a元素
- a[href*=”www.lagou.com”] 選取所有href屬性值中包含www.lagou.com的a元素
- a[href^=”http”] 選取所有href屬性值中以http開頭的a元素
- div:not(#content-container) 選取所有id為非content-container 的div
css例項:
response.css('title::text').extract() 輸出標籤title的文字內容
response.css('base::attr(href)').extract() 輸出標籤base的屬性href的內容
response.css('a[href*=image]::attr(href)').extract() 輸出屬性href內容中含有image的標籤a的屬性href的內容
response.css('a[href*=image] img::attr(src)').extract() 輸出屬性href內容中含有image的標籤a下面的標籤img的屬性src的內容
response.xpath('//a[contains(@href, "image")]/text()').re_first(r'Name:\s*(.*)') 使用正則表示式:
<div id='images'> <a href='image1.html'>Name: My image 1 <br /><img src='image1_thumb.jpg' /></a>
輸出: u'My image 1'