xpathを勉強してこれを見れば十分です.


前言
偶然pythonscrapyフレームワークを見て、興味の吸引のため、最近入門式の学習のようで、学習の過程の中でxpathの関連知識に出会って、ここで総括の方面の後日の照会と記憶を行います.参考:菜鳥チュートリアル
理解するXPathは、XMLドキュメントで情報を検索する言語です.もちろんHTMLにも使えます.scrapyでページに必要なコンテンツを検索します.
≪インスタンス|Instance|emdw≫


<bookstore>
<h1>Exampleh1>
<book>
  <title lang="eng">Harry Pottertitle>
  <price>29.99price>
book>

<book>
  <title lang="eng">Learning XMLtitle>
  <price>39.95price>
book>

bookstore> 

ノードの選択
  • :このノードのすべてのサブノード
  • を選択する.
  • /:ルートノードから
  • を選択
  • //:文書内のノードは、その位置(理解)
  • を考慮することなく、選択に一致する現在のノードから選択される.
  • .:現在のノード
  • を選択
  • ..:現在のノードの親ノード
  • を選択
  • @:属性
  • を選択
    注意:これらの構文は混在して使用できます.
    式#シキ#
    説明
    article
    すべてのarticle要素のすべてのサブノードを選択
    /article
    ルート要素articleの選択
    article/a
    articleに属するすべてのサブエレメントのaエレメントを選択します(位置は考慮しません)
    /div
    すべてのdiv要素を選択
    article//div
    すべてのarticle要素の子孫div要素を選択
    //@class
    classという名前のすべてのプロパティを選択
    複数のclassを選択
        
    ...div>

    div xpath('//div[@class="h-entry"]') xpath('//div[@class="toc-sidebar"]')xpath('//div[contains(@class,"h-entry")]') xpath('//div[contains(@class,"toc-sidebar")]')xpath('//div[contains(@class,"h-entry") and contains(@class,"toc-sidebar")]')

    。 。

    • [number]: number
    • [last-number]: number 0 , 。
    • [position()number-1
    • [@lang]: lang
    • [@lang='eng']: eng lang

    • * : 。
    • @* : 。
    • node() : 。

    | , 。

    xpath , , 。