如何在python中获取文本的值

问题描述

我有这个 HTML 代码

<form action="/pe/cart/add" class="add_to_cart_form" id="addToCartFormbt_NE_10677654" method="post">
    <input name="productCodePost" type="hidden" value="bt_NE_10677654"/>
    <input name="productNamePost" type="hidden" value="Nike Air VaporMax 2020 FK"/>
    <input name="productPostPrice" type="hidden" value="899.9"/>
</form>

我想得到值'bt_NE_10677654'和'899.9'。我怎样才能做到这一点?

解决方法

你可以使用“re”模块,或者如果你是从网上抓取的,你可能会看到这个 repo :

https://github.com/mrHola21/Price-webscraper/blob/main/Web_Scraper/test.py

,

您可以尝试使用 BeautifulSoup:

from bs4 import BeautifulSoup as bs

page = """<form action="/pe/cart/add" class="add_to_cart_form" id="addToCartFormbt_NE_10677654" method="post">
    <input name="productCodePost" type="hidden" value="bt_NE_10677654"/>
    <input name="productNamePost" type="hidden" value="Nike Air VaporMax 2020 FK"/>
    <input name="productPostPrice" type="hidden" value="899.9"/>
</form>"""

soup = bs(page,features="lxml")
a = soup.find_all(attrs={"name" : "productCodePost"})[0]["value"]
b = soup.find_all(attrs={"name" : "productPostPrice"})[0]["value"]

print(a,b)
>>> bt_NE_10677654 899.9