ソース
jQueryならcontents()とかでうまいことできるっぽいけど、pyqueryには残念ながらありません。そこで力技で必要ない要素を削除した後にtext()で返される文字列をsplitして決め打ちで文字列取ってくるという方法を採りました。なんかださいけどしょうがない。
from pyquery import PyQuery as pq # この要素中の"piyo"だけ抜き出したい html_str = "<div>hoge<span>foo</span><h3>bar</h3>piyo</div>" html = pq(html_str) # spanとh3を削除 html.remove('span') html.remove('h3') contents = pq(html).text().split() # これは "hoge piyo" を返すので空白でsplit print contents[-1]