【发布时间】:2019-06-17 10:07:59
【问题描述】:
对不起,如果标题令人困惑,但我已经研究了两个小时,不知道我应该如何提出这个问题,所以任何人都可以随意编辑这篇文章。
我有一个使用网络抓取创建的字符串变量,它使用特殊字符,在打印时看起来像“\ud83d\ude00\u0107\u00e7\n hello”,没有引号。问题是我希望它打印实际的特殊字符,但我不确定应该使用哪种编码方法。如果我复制并粘贴确切的字符串并打印它,它可以正常工作,但作为我创建的变量,它不显示特殊字符,只显示文本。
我尝试将其转换为字符串,使用 json.load、unicode-escape、UTF-8 和其他一些方法,但老实说我不确定我应该使用什么方法
page = requests.get('https://www.example.com')
soup = str(BeautifulSoup(page.text, 'html.parser')).splitlines()
for line in soup:
if 'hello' in line:
print(line) #produces literal text of \ud83d\ude00\u0107\u00e7 \n hello
print('\ud83d\ude00\u0107\u00e7 \n hello') #produces wanted result
我希望结果看起来像这样:
???????
你好
【问题讨论】:
-
那些是土耳其字符吗?
-
@Nick 该变量可以包含表情符号和任何其他特殊字符,包括土耳其字符
标签: python beautifulsoup escaping special-characters encode