以下のような形式のxhtmlファイルがあります。タグ間のすべてのテキストを順番に取得しようとしています。BAC以外のすべてを取得するには、自分のリストを呼び出してthis_list = get_e('td')
、そのリストを別の関数に渡して、テキストをとして取得しますget_text(this_list)
。すべてのテキストを取得するために、関数にわずかな変更を加えることができるかどうか疑問に思っています。誰かがこれについていくつかのアドバイスを提供できますか?
<tr>
<td colspan="1" rowspan="1" class="lft">
<a shape="rect" href="http://www.usatoday.idmanagedsolutions.com/stocks/new/quote.idms?SYMBOL_US=BAC">
BAC</a>
</td>
<td colspan="1" rowspan="1" class="lft">
Bank Of America Corporation</td>
<td colspan="1" rowspan="1">
9.79
</td>
<td colspan="1" rowspan="1">
-0.07
</td>
<td colspan="1" rowspan="1">
<span class="neg-arrw">
-0.71%
</span>
</td>
<td colspan="1" rowspan="1">
71,370,166
</td>
</tr>
<tr class="evenrow">
<td colspan="1" rowspan="1" class="lft">
VALE
</td>
<td colspan="1" rowspan="1" class="lft">
Vale S A
</td>
<td colspan="1" rowspan="1">
17.52
</td>
<td colspan="1" rowspan="1">
+0.09
</td>
<td colspan="1" rowspan="1">
<span class="pos-arrw">
+0.49%
</span>
</td>
<td colspan="1" rowspan="1">
15,461,788</td>
</tr>
以下の機能を使用しています
def get_e(tag):
l=[]
els=dom.getElementsByTagName(tag)
for e in els:
for child_el in els.childNode:
lst.append(child_el)
return l
def get_text(els):
l=[]
for e in els
if e.nodeType == e.TEXT_NODE:
l.append(e.data)
return lst