Python 将html解析为列表或表
我使用Selenium提取了一个Python 将html解析为列表或表,python,beautifulsoup,lxml,Python,Beautifulsoup,Lxml,我使用Selenium提取了一个html页面,我想将数据放入一个表/列表中,然后将其输入到Dataframe中 使用Beautifulsoup 4提取的html <tr class="result even"> <td class="companyName" data-name="companyName"> <a href="http://sgx.com/wps/portal/sgxweb/home/company_disclosure
html
页面,我想将数据放入一个表/列表中,然后将其输入到Dataframe中
使用Beautifulsoup 4提取的html
<tr class="result even">
<td class="companyName" data-name="companyName">
<a href="http://sgx.com/wps/portal/sgxweb/home/company_disclosure/stockfacts?page=1&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>
5TG
商业服务和用品
84.9
-
(12.04)
18.75
0.371
0.02毫米
0.1
0.13毫米
84.11
19.95
152
15.15
11.77
0.1
78.47
19.4
18.17
15.83
0.1
34.77
4.745
4.21
1.448
-
47
(73)
这个html又延伸了349行。如何将其转换为表格/列表
使用lxml而不是bs4是否更容易/更快 您可以使用直接将其加载到熊猫数据帧中。如果您需要速度,它将使用最好的可用/已安装的解析器-install
lxml
。您可以使用将其直接加载到pandas数据帧中。如果你想提高速度,它将使用最好的可用/已安装的解析器-installlxml
。好吧,lxml会稍微快一点,因为beautifulsoup使用的是一个构建在lxml之上的解析器,但是如果你只解析一个页面,那么差异可以忽略不计。至于将数据“转换”为表或列表,您应该查看beautifulsoup文档以访问父标记的子标记。好的,lxml会稍微快一点,因为beautifulsoup使用一个构建在lxml之上的解析器,但是如果您只解析一个页面,则差异可以忽略不计。至于将数据“转换”为表或列表,您应该查看beautifulsoup文档以访问父标记的子项。我尝试了它,但它给了我错误无法读取“ResultSet”类型的对象
。我该怎么办?我试过了,它给了我一个错误,无法读取'ResultSet'类型的对象。
。我该怎么办?