2016-03-27 6 views
0

Seleniumを使用してhtmlページを抽出しました。このデータをpandas Dataframeにフィードできるテーブル/リストに入れたいと思います。別の349行のこのHTMLストレッチがBeautifulsoup 4htmlをリストまたはテーブルに解析する

<tr class="result even"> 
    <td class="companyName" data-name="companyName"> 
     <a href="http://sgx.com/wps/portal/sgxweb/home/company_disclosure/stockfacts?page=1&amp;code=5TG" target="_parent"> 
     800 Super Holdings Limited 
     </a> 
    </td> 
    <td class="tickerCode" data-name="tickerCode"> 
     5TG 
    </td> 
    <td class="industry" data-name="industry"> 
     Commercial Services and Supplies 
    </td> 
    <td class="marketCap" data-name="marketCap"> 
     84.9 
    </td> 
    <td class="percentChange hidden" data-name="percentChange"> 
     - 
    </td> 
    <td class="priceVs52WeekHigh hidden" data-name="priceVs52WeekHigh"> 
     (12.04) 
    </td> 
    <td class="priceVs52WeekLow hidden" data-name="priceVs52WeekLow"> 
     18.75 
    </td> 
    <td class="beta5Yr hidden" data-name="beta5Yr"> 
     0.371 
    </td> 
    <td class="volume hidden" data-name="volume"> 
     0.02 mm 
    </td> 
    <td class="avgTradedVolM3 hidden" data-name="avgTradedVolM3"> 
     0.1 
    </td> 
    <td class="avgVolumeM3 hidden" data-name="avgVolumeM3"> 
     0.13 mm 
    </td> 
    <td class="floatPercentage hidden" data-name="floatPercentage"> 
     84.11 
    </td> 
    <td class="priceVolHistYr hidden" data-name="priceVolHistYr"> 
     19.95 
    </td> 
    <td class="totalRevenue" data-name="totalRevenue"> 
     152 
    </td> 
    <td class="ebitdaMargin hidden" data-name="ebitdaMargin"> 
     15.15 
    </td> 
    <td class="netProfitMargin hidden" data-name="netProfitMargin"> 
     11.77 
    </td> 
    <td class="eps hidden" data-name="eps"> 
     0.1 
    </td> 
    <td class="totalDebtEquity hidden" data-name="totalDebtEquity"> 
     78.47 
    </td> 
    <td class="totalRev1YrAnnGrowth hidden" data-name="totalRev1YrAnnGrowth"> 
     19.4 
    </td> 
    <td class="totalRev3YrAnnGrowth hidden" data-name="totalRev3YrAnnGrowth"> 
     18.17 
    </td> 
    <td class="totalRev5YrAnnGrowth hidden" data-name="totalRev5YrAnnGrowth"> 
     15.83 
    </td> 
    <td class="basicEpsIncl hidden" data-name="basicEpsIncl"> 
     0.1 
    </td> 
    <td class="returnOnEquity hidden" data-name="returnOnEquity"> 
     34.77 
    </td> 
    <td class="peRatio" data-name="peRatio"> 
     4.745 
    </td> 
    <td class="dividendYield" data-name="dividendYield"> 
     4.21 
    </td> 
    <td class="priceToBookRatio hidden" data-name="priceToBookRatio"> 
     1.448 
    </td> 
    <td class="avgBrokerReq hidden" data-name="avgBrokerReq"> 
     - 
    </td> 
    <td class="gtiScore hidden" data-name="gtiScore"> 
     47 
    </td> 
    <td class="gtiRankChange hidden" data-name="gtiRankChange"> 
     (73) 
    </td> 
    </tr> 

で抽出

HTML。これをテーブル/リストにするにはどうすればよいですか?

bs4の代わりにlxmlを使用する方が簡単で簡単ですか?

+0

よく、lxmlはlxmlの上に構築されたパーサを使用するため、少し速くなりますが、1ページを解析するだけでは差はごくわずかです。データをテーブルやリストに「回す」限り、parentsタグの子にアクセスするためのbeautifulsoupのドキュメントをチェックしてください。 – n1c9

答えて

2

pandas.read_html()でパンダのデータフレームに直接読み込むことができます。スピードが必要な場合は、最高の利用可能な/インストールされたパーサーをインストールします - lxmlをインストールします。

+0

私はそれを試して、エラー '私は'タイプ 'ResultSet'のオブジェクトを読み取ることができませんでした。私は何をすべきか? –

+0

それを傷つける。私は以前は何か間違っていた。 –

関連する問題