私はこのhtmlコードを持っています:
<table>
<tr>
<td class="test"><b><a href="">aaa</a></b></td>
<td class="test">bbb</td>
<td class="test">ccc</td>
<td class="test"><small>ddd</small></td>
</tr>
<tr>
<td class="test"><b><a href="">eee</a></b></td>
<td class="test">fff</td>
<td class="test">ggg</td>
<td class="test"><small>hhh</small></td>
</tr>
</table>
この Python コードを使用して<td class="test">、lxml モジュールですべてを抽出します。
import urllib2
import lxml.html
code = urllib.urlopen("http://www.example.com/page.html").read()
html = lxml.html.fromstring(code)
result = html.xpath('//td[@class="test"][position() = 1 or position() = 4]')
それはうまくいきます!結果は次のとおりです。
<td class="test"><b><a href="">aaa</a></b></td>
<td class="test"><small>ddd</small></td>
<td class="test"><b><a href="">eee</a></b></td>
<td class="test"><small>hhh</small></td>
(つまり、それぞれの最初と 4 番目の列<tr>) 今、抽出する必要があります。
aaa (リンクのタイトル)
ddd
<small>(タグ間のテキスト)eee (リンクのタイトル)
hhh
<small>(タグ間のテキスト)
これらの値を抽出するにはどうすればよいですか?
(問題は、<b>タグを削除して最初の列のアンカーのタイトルを取得し、4 番目の列のタグを削除する必要があることです<small>)
ありがとうございました!