2017-10-11 17 views
0

データを取得する方法とデータの後に続く数字を抽出するのに助けが必要です。修正されていない完全なウェブページには多くの<tr>があります。私は</a>の直前に "Need"を使用してフィルタリングする必要があります。私は美味しいスープでこれをやろうとしていますが、lxmlがうまくいくかもしれません。私は<tr> Sの全てまたは唯一の必要性を含んでい< a>...< /a>ラインが、その<a>ラインで必要な含まれていないだけで<tr>のいずれかを取得することができます。Pythonのhtmlから2つの情報を抽出します

<tr > 
    <td>3</td> 
    <td><a href="/local/app">Leave</a></td><td><a href="https://www.leave.com/" target="_blank">Useless</a></td> 
    <td class="text-right"> <span class="float2" data-a="24608000.0" data-b="518" data-n="818">Garbage</span></td> 
    <td class="text-right"> <span class="Float" data-a="3019" data-b="0.0635664" data-n="283">Garbage2</span></td> 
    <td class="text-right">7.38%</td> 
    <td class="text-right " >Recently</td> 
</tr> 

<tr > 
    <td>4</td> 
    <td><a href="/local">Grab</a></td><td><a href="https://grab.com" target="_blank">Need</a></td> 
    <td class="text-right"> <span class="bloat2" data="22435000.0" data-b="512" data-n="74491.2">More junk</span></td> 
    <td class="text-right"> <span class="bloat" data-a="301.177" data-b="35.848" data-n="0.5848">More junk2</span></td> 
    <td class="text-right">Some more</td> 
    <td class="text-right " >Recently</td> 
</tr> 

ありがとうございました!

答えて

0
from bs4 import BeautifulSoup 


data = '''<tr> 
<td>3</td> 
<td><a href="/local/app">Leave</a></td><td><a href="https://www.leave.com/" target="_blank">Useless</a></td> 
<td class="text-right"> <span class="float2" data-a="24608000.0" data-b="518" data-n="818">Garbage</span></td> 
<td class="text-right"> <span class="Float" data-a="3019" data-b="0.0635664" data-n="283">Garbage2</span></td> 
<td class="text-right">7.38%</td> 
<td class="text-right " >Recently</td> 
</tr> 

<tr> 
<td>4</td> 
<td><a href="/local">Grab</a></td><td><a href="https://grab.com" target="_blank">Need</a></td> 
<td class="text-right"> <span class="bloat2" data="22435000.0" data-b="512" data-n="74491.2">More junk</span></td> 
<td class="text-right"> <span class="bloat" data-a="301.177" data-b="35.848" data-n="0.5848">More junk2</span></td> 
<td class="text-right">Some more</td> 
<td class="text-right " >Recently</td> 
</tr> 
''' 

soup = BeautifulSoup(data) 
print(soup.findAll('a',{"href":"/local" })[0].text) 
for a in soup.findAll('span',{"class":["bloat","bloat2"]}): 
    print(a['data-b']) 
関連する問題