2016-10-24 13 views
-1

から特定の​​タグを選択すると、私はこの形式でHTMLテーブルから掻き落としています:Pythonの3 BeautifulSoup4は各<tr>

<table> 

    <tr> 
     <th>Name</th> 
     <th>Date</th> 
     <th>Number</th> 
     <th>Address</th> 

    </tr> 

    <tr> 1 

     <td> Name-1 </td> 
     <td> Date-1 </td> 
     <td> Number-1 </td> 
     <td> Address-1 </td> 

    </tr> 

    <tr> 2 

     <td> Name-2 </td> 
     <td> Date-2 </td> 
     <td> Number-2 </td> 
     <td> Address-2 </td> 

    </tr> 

</table> 

それはそのページ上の唯一のテーブルです。それぞれのTDタグを対応するTHタグ情報と共に保存してリストを作成し、最終的にCSVに保存します。実際の情報は数字で保存されません。データには、テーブル内にこのようにフォーマットされた同じデータセットを持つ数百のテーブル行がすべてあります。

基本的には、「名前」を各TR行の1番目のTDセルにし、日付を2番目にするなどしたいと考えています。

私はPython3とBeautifulSoup4でこれを行う方法を見つけることができない、私は方法があることを知っている、私はちょうど新しいです。

ご協力いただきありがとうございます。私は多くのことを学んでいます。データが均一であると仮定すると、

答えて

0

、次の基本的な例では、動作するはずです:

table_rows = soup.find_all("tr") #list of all <tr> tags 
for row in table_rows: 
    cells = row.find_all("td") #list of all <td> tags within a row 
    if not cells: #skip rows without td elements 
     continue 
    name, date, number, address = cells #unpack list of <td> tags into separate variables 
関連する問題