我正在尝试使用 BeautifulSoup 抓取页面,<script>
标签内有 <span>
标签,如下所示
<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>
标签内的文本?
答案 0 :(得分:0)
文本位于标签 <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())
输出:
более 20 раз