2016-04-11 6 views
1

これは私の最初の質問です。私は、ウェブページのデータを取得しようとしています。正しい名前のxpathを得るには?治療

<dl class="pairing"> 
    <dt class="attribute" title="Maridaje">Maridaje:</dt> 
    <dd> 
</dl> 
<dl> 
<dl> 
    <dt class="attribute" title="Vol. de alcohol">Vol. De Alcohol:</dt> 
    <dd>14%</dd> 
</dl> 

ご覧のとおり、同じクラス名を使用するインスタンスがあります。私はただ1つのテキストを取得したい。どのように言及しているのですか?

私は

item['maridaje'] = response.xpath('.//*[@class="attribute"]/text()').extract() 

を試してみましたが、しかし、これは、同じ名前を持つ私にclasesのすべてのタイトルを与えます。

ありがとうございました!

答えて

0

複数のオプション:

  • インデックスでのXPath(1ベース):

    response.xpath('.//*[@class="attribute"]/text()').extract_first() 
    
  • Pythonでインデックスで:所望の最初の要素である場合.//*[@class="attribute"][1]/text()

  • 使用extract_first() (0ベース)、2回目の試合の結果:

    response.xpath('.//*[@class="attribute"]/text()').extract()[1] 
    
  • チェック親:.//dl[@class="pairing"]/dt[@class="attribute"]/text()

  • チェックtitle属性:.//*[@class="attribute" and @title="Maridaje"]/text()
+0

は本当にありがとうございました! .//*[@class="attribute "and @ title =" Maridaje "]/text()は私が探していたものでした –