2017-05-14 4 views
0

スパン内のテキストをターゲットにして、それをPythonの入力パラメータとして使用できるようにする必要があります。私はXpathで何時間も苦労してきました。Xpath - スパン内のターゲットテキスト

<ul class="program"> 
    <li class="list"... 
    <a class="listing_link" href=""> 
     <span class="title text-ellipses">TEXT TO SELECT</span> 

ここで私が思いついた最も単純なものがあります。

//ul/li/a/span//text() 

しかし、動作しません。 私はまたのようなものを試してみました:どちらか

string(//ul/li/a/span[contains(text(), 'TEXT TO SELECT')]) 

しかし、何も。

スニペットははるかに大きなツリーの一部です。考えられるのは、すべての出現の中のテキストをターゲットにすることです。

//ul/li/a/span. 

助けが必要ですか?

+0

「URL」ページを共有できますか? – Andersson

+0

https://www.ziggogo.tv/nl/tv-gids.html – Nirow

+0

投稿したフラグメントのxpathが機能します。 「うまくいきません」と具体的に言えますか?そして、見つけたいものを模倣した、最小限の有効なXML文書を投稿できますか?一見するとあなたのXMLに関連していないような、巨大なhtmlページを参照してください。これを絞り込めますか? – tdelaney

答えて

1

あなたがすべきことは、クラス名を使用して正しい要素を選択し、その要素内でテストを取得することです。これを試してみてください:

ここ
page.select('//*[@class="title text-ellipses"]/text()').extract() 

、 "ページ" "lxmlの" モジュール内の "HTML" メソッドを使用して解析されたHTMLページです。たとえば、Githubのスクリプトを見てください。

+0

よろしくお願い致します。出来た。 – Nirow

関連する問題