【发布时间】:2016-10-10 07:57:21
【问题描述】:
我有以下代码用于从名为 ssllabs,com 的网站获取结果
from bs4 import BeautifulSoup
import requests
req = requests.get("https://www.ssllabs.com/ssltest/analyze.html?d=drtest.test.sentinelcloud.com")
data = req.text
soup = BeautifulSoup(data)
report_tables=soup.find_all('table',class_='reportTable')
print report_tables
这会返回以下表格:
现在我的数据在我指定的表格中。该表内部的结构看起来像
<table class="reportTable">
\n
<thead>
\n
<tr>
\n
<td class="tableHead" colspan="3">Cipher Suites (SSL 3+ suites in server-preferred order; deprecated and SSL 2 suites at the end)</td>
\n
</tr>
\n
</thead>
\n
<tbody>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\n (<code>0xc02f</code>)\n \xa0 <span class="greySmall"> ECDH secp256r1 (eq. 3072 bits RSA) \xa0 FS</span>\n</td>
\n
<td class="tableRight">128</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\n (<code>0xc030</code>)\n \xa0 <span class="greySmall"> ECDH secp256r1 (eq. 3072 bits RSA) \xa0 FS</span>\n</td>
\n
<td class="tableRight">256</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_DHE_RSA_WITH_AES_128_GCM_SHA256\n (<code>0x9e</code>)\n \xa0\n <span class="greySmall">\n<span title="p: 256, g: 1, Ys: 256">DH 2048 bits</span> \xa0 FS</span>\n</td>
\n
<td class="tableRight">128</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_DHE_RSA_WITH_AES_256_GCM_SHA384\n (<code>0x9f</code>)\n \xa0\n <span class="greySmall">\n<span title="p: 256, g: 1, Ys: 256">DH 2048 bits</span> \xa0 FS</span>\n</td>
\n
<td class="tableRight">256</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256\n (<code>0xc027</code>)\n \xa0 <span class="greySmall"> ECDH secp256r1 (eq. 3072 bits RSA) \xa0 FS</span>\n</td>
\n
<td class="tableRight">128</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\n (<code>0xc013</code>)\n \xa0 <span class="greySmall"> ECDH secp256r1 (eq. 3072 bits RSA) \xa0 FS</span>\n</td>
\n
<td class="tableRight">128</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384\n (<code>0xc028</code>)\n \xa0 <span class="greySmall"> ECDH secp256r1 (eq. 3072 bits RSA) \xa0 FS</span>\n</td>
\n
<td class="tableRight">256</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\n (<code>0xc014</code>)\n \xa0 <span class="greySmall"> ECDH secp256r1 (eq. 3072 bits RSA) \xa0 FS</span>\n</td>
\n
<td class="tableRight">256</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_DHE_RSA_WITH_AES_128_CBC_SHA256\n (<code>0x67</code>)\n \xa0\n <span class="greySmall">\n<span title="p: 256, g: 1, Ys: 256">DH 2048 bits</span> \xa0 FS</span>\n</td>
\n
<td class="tableRight">128</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_DHE_RSA_WITH_AES_128_CBC_SHA\n (<code>0x33</code>)\n \xa0\n <span class="greySmall">\n<span title="p: 256, g: 1, Ys: 256">DH 2048 bits</span> \xa0 FS</span>\n</td>
\n
<td class="tableRight">128</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_DHE_RSA_WITH_AES_256_CBC_SHA256\n (<code>0x6b</code>)\n \xa0\n <span class="greySmall">\n<span title="p: 256, g: 1, Ys: 256">DH 2048 bits</span> \xa0 FS</span>\n</td>
\n
<td class="tableRight">256</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_DHE_RSA_WITH_AES_256_CBC_SHA\n (<code>0x39</code>)\n \xa0\n <span class="greySmall">\n<span title="p: 256, g: 1, Ys: 256">DH 2048 bits</span> \xa0 FS</span>\n</td>
\n
<td class="tableRight">256</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA\n (<code>0xc012</code>)\n \xa0 <span class="greySmall"> ECDH secp256r1 (eq. 3072 bits RSA) \xa0 FS</span>\n</td>
\n
<td class="tableRight">112</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_RSA_WITH_AES_128_GCM_SHA256\n (<code>0x9c</code>)\n \n \n </td>
\n
<td class="tableRight">128</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_RSA_WITH_AES_256_GCM_SHA384\n (<code>0x9d</code>)\n \n \n </td>
\n
<td class="tableRight">256</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_RSA_WITH_AES_128_CBC_SHA256\n (<code>0x3c</code>)\n \n \n </td>
\n
<td class="tableRight">128</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_RSA_WITH_AES_256_CBC_SHA256\n (<code>0x3d</code>)\n \n \n </td>
\n
<td class="tableRight">256</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_RSA_WITH_AES_128_CBC_SHA\n (<code>0x2f</code>)\n \n \n </td>
\n
<td class="tableRight">128</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_RSA_WITH_AES_256_CBC_SHA\n (<code>0x35</code>)\n \n \n </td>
\n
<td class="tableRight">256</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA\n (<code>0x88</code>)\n \xa0\n <span class="greySmall">\n<span title="p: 256, g: 1, Ys: 256">DH 2048 bits</span> \xa0 FS</span>\n</td>
\n
<td class="tableRight">256</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_RSA_WITH_CAMELLIA_256_CBC_SHA\n (<code>0x84</code>)\n \n \n </td>
\n
<td class="tableRight">256</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA\n (<code>0x45</code>)\n \xa0\n <span class="greySmall">\n<span title="p: 256, g: 1, Ys: 256">DH 2048 bits</span> \xa0 FS</span>\n</td>
\n
<td class="tableRight">128</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_RSA_WITH_CAMELLIA_128_CBC_SHA\n (<code>0x41</code>)\n \n \n </td>
\n
<td class="tableRight">128</td>
\n
</tr>
\n
<tr class="tableRow">
\n
<td class="tableLeft">\n TLS_RSA_WITH_3DES_EDE_CBC_SHA\n (<code>0xa</code>)\n \n \n </td>
\n
<td class="tableRight">112</td>
\n
</tr>
\n
</tbody>
\n
</table>
我需要进入 'tbody' 并提取所有 tableLeft 值并将它们放在一个列表中。 我的问题:
1. How to select that particular reportTable at line 493 in picture.
2. How to extract the values (TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384.......................) and put in LIST
【问题讨论】:
-
1.
report_tables[4]2.report_tables[4].find_all('td', class_='tableLeft')
标签: python beautifulsoup