我有一个 HTML 文件(来自 Newegg) ,它们的 HTML 组织如下。他们的规格表中的所有数据都是“ Desc”,而每个部分的标题都是“ 姓名。”。下面是两个来自 Newegg 页面的数据例子。
<tr>
<td class="name">Brand</td>
<td class="desc">Intel</td>
</tr>
<tr>
<td class="name">Series</td>
<td class="desc">Core i5</td>
</tr>
<tr>
<td class="name">Cores</td>
<td class="desc">4</td>
</tr>
<tr>
<td class="name">Socket</td>
<td class="desc">LGA 1156</td>
<tr>
<td class="name">Brand</td>
<td class="desc">AMD</td>
</tr>
<tr>
<td class="name">Series</td>
<td class="desc">Phenom II X4</td>
</tr>
<tr>
<td class="name">Cores</td>
<td class="desc">4</td>
</tr>
<tr>
<td class="name">Socket</td>
<td class="desc">Socket AM3</td>
</tr>
最后,我想有一个类的 CPU (已经建立) ,包括一个品牌,系列,核心,和插座类型存储每个数据。这是我能想到的唯一办法:
if(parsedDocument.xpath(tr/td[@class="name"])=='Brand'):
CPU.brand = parsedDocument.xpath(tr/td[@class="name"]/nextsibling?).text
然后对剩下的值进行这样的操作。我如何完成下一个兄弟姐妹,有没有更简单的方法来做到这一点?