Python 抓取希伯来语 - 如何将字符串"%d7%a1%d7%99%d7%92%d7%a8"转换为正常



所以我正在抓取一个网站以获取其数据。这是一个woocomerce网站,一个产品有多种不同的价格。

使用BeautifulSoup我可以获得整个产品和变体的信息,但有些字符串无法读取。

特定产品页面:https://dogo.co.il/product/%d7%9b%d7%a0%d7%a2%d7%9f-%d7%97%d7%98%d7%99%d7%a4%d7%99%d7%9c%d7%9b%d7%9c%d7%91%d7%99%d7%9d-%d7%91%d7%9e%d7%92%d7%95%d7%95%d7%d7%9f-%d7%98%d7%a2%d7%9%d7%d7%d7%9e%99%d7%9d-60-100-%d7%92%d7%a8%d7%9d/

product_page = requests.get(single_product_url)
product_soup = BeautifulSoup(product_page.content, "html.parser")
product_form = product_soup.find("form", {"class": "variations_form cart"})
variations_json = json.loads(product_form["data-product_variations"])
attributes = item["attributes"]
variant_title = attributes["attribute_pa_flavor"]
print(variant_title)

输出为:"%d7%a1%d7%99%d7%92%d7%a8-%d7%a2%d7%95%d7%a3-100-%d7%92%d7%a8%d7%9d"

我得到的JSON包含所有变体信息,如"is_in_stock"、每个变体的价格和折扣。

我不需要只有变体标题,我需要整个变体数据。

如何将"%d7%a1%d7%99%d7%92%d7%a8-%d7%a2%d7%95%d7%a3-100-%d7%92%d7%a8%d7%9d"转换为普通字符串?

我尝试了编码和解码,但没有成功。

谢谢!

你可以用urllib,我用了python.3x

In [9]: import urllib
In [10]: urllib.parse.unquote(
...:     "%d7%a1%d7%99%d7%92%d7%a8-%d7%a2%d7%95%d7%a3-100-%d7%92%d7%a8%d7%9d"
...: )
Out[10]: 'סיגר-עוף-100-גרם'

最新更新