我有一个HTML文件(来自Newegg),它们的HTML如下组织。规格表中的所有数据均为“ desc ”,而每个部分的标题均为“ name”。以下是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(已设置)的类,该类由Brand,Series,Cores和Socket类型组成,用于存储每个数据。这是我可以想到的唯一方法:
if(parsedDocument.xpath(tr/td[@class="name"])=='Brand'):
CPU.brand = parsedDocument.xpath(tr/td[@class="name"]/nextsibling?).text
并针对其余的值执行此操作。我将如何完成下一个兄弟姐妹的工作?有没有更简单的方法?
td[@class='name']
将中断。有关详细信息,请参见此问题。