मेरे पास एक HTML फ़ाइल (Newegg से) है और उनका HTML नीचे की तरह व्यवस्थित है। उनकी विशिष्टताओं की तालिका में सभी डेटा ' अवरोही ' हैं जबकि प्रत्येक अनुभाग के शीर्षक ' नाम ' में हैं । 'नीचे 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']
तो टूट जाएगा। देखें इस सवाल जानकारी के लिए।