1. 程式人生 > >網路爬蟲css選擇器知識貼(一)

網路爬蟲css選擇器知識貼(一)

css選擇器:

  1. #container 選擇id為container的元素
  2. .container 選擇所有class包含container的元素
  3. * 選擇所有元素
  4. div a 選取所有div下所有a元素
  5. ul + p 選取ul後面的第一個p元素
  6. ul ~p 選取與ul相鄰的所有p元素
  7. a:nth-child(2) 選取下面第二個標籤,如果是a的話則選取,不是則不取
  8. a:nth-child(2n) 選取第偶數個a元素
  9. a:nth-child(2n+1) 選取第奇數個a元素
  10. li.multi-chosen > a 選取class為multi-chosen的li的所有a元素
  11. a[title] 選取所有擁有title屬性的a元素
  12. a[href=”https://www.lagou.com/jobs/3537439.html”] 選取所有href屬性為https://www.lagou.com/jobs/3537439.html的a元素
  13. a[href*=”www.lagou.com”] 選取所有href屬性值中包含www.lagou.com的a元素
  14. a[href^=”http”] 選取所有href屬性值中以http開頭的a元素
  15. 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'