(Neweggからの)HTMLファイルがあり、そのHTMLは以下のように構成されています。仕様表のすべてのデータは「desc」であり、各セクションのタイトルは「名前」です。'以下は、Neweggページのデータの2つの例です。
<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
そして、残りの値に対してこれを行います。次の兄弟をどのようにして達成しますか?これを行う簡単な方法はありますか?
td[@class='name']
が壊れます。詳細については、この質問を参照してください。