【发布时间】:2021-01-06 19:43:12
【问题描述】:
根据this older answer,Python 3 字符串默认兼容 UTF-8。但是在我使用 BeautifulSoup 的网络爬虫中,当我尝试打印或显示 URL 时,日语字符显示为“%E3%81%82”或“%E3%81%B3”,而不是实际字符。
This Japanese website 是我从中收集信息的那个,更具体地说,是与可点击字母按钮中的链接相对应的 URL。例如,当您将鼠标悬停在 あa 上时,您的浏览器会显示您将要点击的链接是 https://kokugo.jitenon.jp/cat/gojuon.php?word=あ。然而,使用 BeautifulSoup 提取链接的["href"] 属性,我得到https://kokugo.jitenon.jp/cat/gojuon.php?word=%E3%81%82。
两个版本都链接到同一个网页,但为了调试,我想知道是否可以确保显示的字符串包含实际的日文字符。如果没有,我该如何转换字符串以适应这个目的?
【问题讨论】:
-
作为临时解决方法,我制作了一个字典,其中键是混乱的字符表示(带有百分号),值是对应的日文字符。
标签: python python-3.x beautifulsoup utf-8