2017-11-10 21 views
0

私はテーブルの各行に対してこのコマンドを使用していますが、イタリック体ではないテキストのみを取得しています。lxmlでイタリック体とイタリック体のテキストを取得する方法

name = ''.join(row.xpath('td[3]/a/text()')) 

a要素は<em> </emタグ内のテキストを持っています。

<td class="cardname"><a href="http://www.mtgotraders.com/store/PRM_Ball_Lightning_f.html"><em>Ball</em> <em>Lightning</em> *Foil*</a></td> 

私はBall Lightning *Foil*

+0

少なくともイタリック体と非イタリック体が利用可能である、いくつかの要素を持つあなたの質問を更新します。 – SIM

答えて

0

を取得したいあなたは何を望むか、このですか? xpathまたはcssセレクターを使用する場合でも、結果は常に同じです。この打撃を与える:

html_content=''' 
<td class="cardname"><a href="http://www.mtgotraders.com/store/PRM_Ball_Lightning_f.html"> 
<em>Ball</em> <em>Lightning</em> *Foil*</a></td> 
''' 
from lxml.html import fromstring 

root = fromstring(html_content) 
item = root.cssselect(".cardname a")[0].text_content().strip() 
item_alternative = root.xpath("//*[@class='cardname']/a")[0].text_content().strip() 

print(item) 
print(item_alternative) 

結果:

Ball Lightning *Foil* 
Ball Lightning *Foil* 
関連する問題