2013-02-04 2 views
4

나는이 HTML 테이블을 가지고 있고, 좀 그 데이터가 필요합니다BeautifulSoup로 HTML 추출 테이블 형식의 데이터

tableData = htmlText.find("table", attrs={"class":"tablesorter"}) 
rows = tableData.findAll('tr') 

내가 한 모든 테이블 행 및 테이블 셀을 얻을 :이 코드

<table id="curFullTable" class="tablesorter" style="width:728px;margin-left:auto;margin-right:auto;"> 
    <tr> 
     <td>Euro</td> 
     <td align="center">EUR</td> 
     <td align="center">€</td> 
     <td align="center">1</td> 
     <td align="center">110.9416</td> 
     <td align="center">111.2754</td> 
     <td align="center">111.6092</td> 
     </tr> 
    <tr> 
     <td>Australian dollar</td> 
     <td align="center">AUD</td> 
     <td align="center">$</td> 
     <td align="center">1</td> 
     <td align="center">84.9671</td> 
     <td align="center">85.2228</td> 
     <td align="center">85.4785</td> 
    </tr> 
    <tr> 
     <td>Canadian dollar</td> 
     <td align="center">CAD</td> 
     <td align="center">$</td> 
     <td align="center">1</td> 
     <td align="center">81.6167</td> 
     <td align="center">81.8623</td> 
     <td align="center">82.1079</td> 
    </tr> 
</table> 

을 명부. 지금까지 나는 한 통화의 이름으로 하나 추출하는 데 성공했지만, 난 정말이 달성 할 수있는 방법이 될 것입니다 무엇이

currencies = ['Euro','Australian dollar','Canadian dollar'] 

처럼 통화 이름의 목록을해야합니까? 나중에 각 TR 요소의 마지막 TD 요소에서 데이터를 추출해야합니다. 마지막 항목에 대한

답변

5
In [70]: from bs4 import BeautifulSoup 

In [71]: soup = BeautifulSoup(html) 

In [72]: [tr.find('td').text for tr in soup.findAll('tr')] 
Out[72]: [u'Euro', u'Australian dollar', u'Canadian dollar'] 

:

In [73]: [tr.findAll('td')[-1].text for tr in soup.findAll('tr')] 
Out[73]: [u'111.6092', u'85.4785', u'82.1079'] 
+0

내가 최대한 빨리 할 수있는 한 그것을 시도 할 것이다, 그리고 "대답"로 표시됩니다. 고맙습니다. – ivica

+0

이 코드에서 구문 오류가 발생합니다. – user1988632