[英]Scraping <span> tag with BeautifulSoup
我正在嘗試使用 BeautifulSoup 抓取頁面,並且<span>
標記內有<script>
標記,如下所示
<span data-link="{include tmpl='productCardOrderCount' ^~ordersCount=selectedNomenclature^ordersCount}"><script type="jsv#28_"></script>
<script type="jsv#27^"></script>
<script type="jsv#29_"></script>
<script type="jsv#26^"></script>
более 20 раз
<script type="jsv/26^"></script>
<script type="jsv/29_"></script>
<script type="jsv/27^"></script>
<script type="jsv/28_"></script>
</span>
但是由於<script>
標簽在 bs4 中沒有被解析為 HTML,所以下面的代碼返回<span>
標簽而不帶文本( "более 20 раз"
)
rating = soup.find("p", {"class": "order-quantity"})
如何獲取<span>
標簽中的文本?
文本位於標簽<script type="jsv#26^">
下。 您可以使用soup.find("script", type="jsv#26^")
搜索它。
from bs4 import BeautifulSoup
html = """
<span data-link="{include tmpl='productCardOrderCount' ^~ordersCount=selectedNomenclature^ordersCount}"><script type="jsv#28_"></script>
<script type="jsv#27^"></script>
<script type="jsv#29_"></script>
<script type="jsv#26^"></script>
более 20 раз
<script type="jsv/26^"></script>
<script type="jsv/29_"></script>
<script type="jsv/27^"></script>
<script type="jsv/28_"></script>
</span>
"""
soup = BeautifulSoup(html, "html.parser")
print(soup.find("script", type="jsv#26^").find_next(text=True).strip())
Output:
более 20 раз
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.