《精通Scrapy網絡爬蟲》第三章

xpath

即 xml 路徑語言,能夠快速定位到xml文件中元素的位置 css

   表達式                                描述
    /                                        選中文檔中的根
    .                                         選中當前節點
    ..                                        當前節點的父節點
    ELEMENT                          子節點中全部ELEMENT元素節點
    //ELEMENT                       後代節點中全部ELEMENT元素節點
    *                                        全部元素子節點
    text()                                 文本子節點
    @ATTR                             選中名爲ATTR的屬性節點
    @*                                    全部屬性節點
    [謂語]                                用來查找某個特定的節點或者包含某個特定值的節點python

CSS

即 層疊樣式表scrapy

    表達式                                描述
    *                                      選中全部元素
    E                                      選中E元素
    E1,E2                               選中E1,E2元素
    E1 E2                               選中E1後代元素中的E2元素
    E1>E2                             選中E1子元素中的E2元素
    E1+E2                             選中E1兄弟元素中的E2元素
    .CLASS                            選中class的屬性包含class的元素
    #ID                                  選中ID屬性爲id的元素
    [ATTR]                             選中包含ARRT屬性的元素
    [ARRT=VALUE]                選中包含ARRT屬性而且值爲VALUE的元素
    [ARRT~=VALUE]             選中包含ARRT屬性而且值包含VALUE的元素
    E:nth-child(n)                  選中E元素,且該元素必須是其父元素的第n個子元素
    E:nth-last-child                選中E元素,且該元素必須是其父元素的倒數第n個子元素
    E:first-child                      選中E元素,且給元素必須是其父元素的第一個子元素
    E:last-child                    選中E元素,且給元素必須是其父元素的最後一個子元素
    E:empty                           選中沒有子元素的E元素spa

    E::text                    選中E元素的文本節點.net

注意:

CSS語法比xpath要簡潔一些,可是功能不如xpath強大。實際上在scrapy中,當咱們調用selector對象的css方法時,其內部會用python庫cssselect將css選擇器表達式翻譯成xpath表達式,而後調用Selector對象的XPATH方法。翻譯

相關文章
相關標籤/搜索