2
我正在處理一個小項目,並且我很難從使用bs4的html代碼解析所需的行。在python中使用Beautifulsoop4解析內部td標記
HTML:
<div id="results_box">
<table class="genTbl closedTbl historicalTbl" id="curr_table">
<thead>
<tr>
<th class="first left noWrap">Date</th>
<th class="noWrap">Price</th>
<th class="noWrap">Open</th>
<th class="noWrap">High</th>
<th class="noWrap">Low</th>
<th class="noWrap">Vol.</th> <th class="noWrap">Change %</th>
</tr>
</thead>
<tbody>
<tr>
<td class="first left bold noWrap">Jul 15, 2016</td>
<td class="redFont">98.78</td>
<td>99.02</td>
<td>99.30</td>
<td>98.51</td>
<td>30.14M</td> <td class="bold redFont">-0.01%</td>
</tr>
<tr>
<td class="first left bold noWrap">Jul 14, 2016</td>
<td class="greenFont">98.79</td>
<td>97.39</td>
<td>98.99</td>
<td>97.32</td>
<td>38.92M</td> <td class="bold greenFont">1.98%</td>
</tr>
我需要從以下兩行
<td class="bold redFont">-0.01%</td>
<td class="bold greenFont">1.98%</td>
我用
txt = parsed_html.find("table", {"id":"curr_table"}).find_all("td", {"class":re.compile('bold .*Font')})
for row in txt:
L.append(row.text)
print(L)
,但我得到一個空的列表中提取-0.01%和1.98% 。任何解決方案或其他建議?