python - 无法访问 Beautifulsoup 第二个 div
问题描述
我下面有一个html代码,我想访问“sisa 1”..但总是失败,有人可以帮忙吗?
<dd>
<div class="product-list__stock--branch">
<div data-id="2" data-stock="1" class="product-list__stock product-
list__stock--ready">
<b>Online / COD</b>
<span>Stok tersedia</span>
</div>
<div data-id="3" data-stock="1" class="product-list__stock product-
list__stock--ready">
<b>Toko Semarang</b>
<span>Stok tersedia</span>
<span class="tag2 tag--warning" style="color:white;">Sisa 1</span>
</div>
<div class="product-list__stock--available-branch-trigger product-
list__stock--available-branch-trigger--sold-out">Tidak tersedia di
toko lain.
</div>
</div>
</dd>
解决方案
这是 BeautifulSoup 的解决方案:
div = soup.find("div", {"data-id": "3"})
这将返回包含 Sisa 1 的 div。要获取实际的“Sisa 1”文本:
text = div.contents[2].text
推荐阅读
- ubuntu-16.04 - 在 cloud-config 中使用 Jinja 模板“ssh-rsa {{ v1.public_ssh_keys }}”会给出警告“找不到 text/jinja2 类型支持的子处理程序”
- swift - iPhone Xs 中的“主线程检查器:在后台线程上调用 UI API”错误,在模拟器中工作正常
- python - Boost Python自己的模块抛出分段错误`GlobalError::PushToStack()`
- windows - IIS 管理器丢失和 HTTP 错误 503
- javascript - Jest 遇到了一个意外的令牌:实现 try/catch
- javascript - 如何根据属性的值从对象中提取
- python - 如何使用python在csv中查找重复项,然后更改行
- encryption - AES 128 CTR 纯文本大小不是块大小的倍数
- r - 如何将数据列表分成两列?
- python - 在 Jupyter 笔记本中使用 SCOOP