У мене є 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>
Зрештою, я хотів би мати клас для центрального процесора (який вже налаштований), який складається з типу бренда, серії, ядер та сокета для зберігання кожного з даних. Це єдиний спосіб, що я можу зробити, щоб зробити це:
if(parsedDocument.xpath(tr/td[@class="name"])=='Brand'):
CPU.brand = parsedDocument.xpath(tr/td[@class="name"]/nextsibling?).text
І це робимо для решти цінностей. Як би я здійснив зв'язок і чи є простіший спосіб зробити це?
td[@class='name']
вони порушуються. Детальніше див. У цьому питанні .