我正在抓取一些网站,现在我需要找到一些值。虽然看起来很简单。出于某种原因,我无法完成它。
这是我可以找到值的代码段:
<dl class="product-specs--list">
<dt class="product-specs--item-title">
Fabrikantcode </dt>
<dd class="product-specs--item-spec">
BX80646I74790K </dd>
<dt class="product-specs--item-title">
Artikelnummer </dt>
<dd class="product-specs--item-spec product-specs--item-spec-even">
476816 </dd>
<dt class="product-specs--item-title">
Merk </dt>
<dd class="product-specs--item-spec">
Intel </dd>
<dt class="product-specs--item-title">
Garantie </dt>
<dd class="product-specs--item-spec product-specs--item-spec-even">
3 jaar </dd>
<dt class="product-specs--item-title">
Garantietype </dt>
<dd class="product-specs--item-spec">
Carry-in-garantie </dd>
</dl>
这是我的代码和平:
link = 'http://www.processorstore.nl/product/476816/category-212276/intel-core-i7-4790k.html'
source = requests.get(link)
plain = source.text
soup = BeautifulSoup(plain)
for dt in soup.findAll('dt', {'class': 'product-specs--item-title'}):
spec = dt.text.strip()
if spec == 'Serie':
print(spec) # It does print Serie
# Now i need to find the Next_sibling: Core i7
# This is NOT working :(
dd = spec.find_next_sibling("dd", {'class': 'product-specs--item-spec'})
print(dd)
elif spec == 'Threads':
print(spec)
else:
print("######### something else")
我确实尝试了几件事,但没有成功。
答案 0 :(得分:3)
你应该找到dt
的下一个兄弟而不是spec
(这是一个unicode字符串):
dd = dt.find_next_sibling("dd", {'class': 'product-specs--item-spec'})