2016-05-02 21 views
0

長い文字列のURLの特定のXpathまでドリルダウンしようとしています。私はリストされたブロックのそれぞれについてきましたが、長い文字列のプロパティよりもそれを得ることはできません。XPath:プロパティ文字列から特定の項目を選択

コード例:今私が持っている

<div class="abc class"> 
    <a class="123" title="abc" keys="xyz" href="url string"> 

...唯一のクラスからのhrefを通じて、データの全体の文字列を取得

.//*[@id='content']/div/div[1]/a 

。その部分から「URL文字列」を取得するだけで何が必要でしょうか?これは、Python入力の後続の 'for'引数で達成する必要がありますか?

答えて

1

純粋なXPathのソリューションだけで式に@hrefを追加伴うだろう:Pythonで

.//*[@id='content']/div/div[1]/a/@href 

、あなたがlxml.htmlを使用していると仮定すると、あなたは.attribを使用して属性を取得できます。

for link in root.xpath(".//*[@id='content']/div/div[1]/a"): 
    print(link.attrib['href']) 
+0

ダンそれはすべて、私がとても近かった...ありがとう! @alecxe – Winklevoss333

0

この配列を避けてみてください

あなたのクラス名がユニークであれば、あなたはそれを次のようにすることができます: -

//*[@id='content']/div/div[@class='abc class']/a[@keys='xyz']/@href 

が、それはあなたを助けることを願っています:)

関連する問題