Python Facebook API:抓取问题以及未知的希伯来语Unicode

Python Facebook API:抓取问题以及未知的希伯来语Unicode,python,facebook,api,unicode,Python,Facebook,Api,Unicode,我创建了一个facebook应用程序来与我的python脚本集成。 我有权从用户处获取通知和消息 问题是,当我收到通知时,我没有很好地处理它: notification of Somebody is {u'title_text': u'Texas HoldEm Poker: Hurry! CLAIM your $25,000 FREE CHIPS now!'} 正如您所看到的,“{u'title_text':u'…“}”不属于那里。 我怎样才能只收到里面的短信 第二个问题是,当我试图用希伯来

我创建了一个facebook应用程序来与我的python脚本集成。 我有权从用户处获取通知和消息

问题是,当我收到通知时,我没有很好地处理它:

notification of Somebody is {u'title_text': u'Texas HoldEm Poker: Hurry! CLAIM your 
$25,000 FREE CHIPS now!'}
正如您所看到的,“{u'title_text':u'…“}”不属于那里。 我怎样才能只收到里面的短信

第二个问题是,当我试图用希伯来语获取信息时,它看起来是这样的:

{u'title_text': u'\u200e\u200e\u05d7\u05df \u05d1\u05dc\u05d7\u05e0\u05e1\u200e posted 
on Danie's\'s timeline\u200e: "Have a lot of good luck"'}
“\u200e\u200e\u05d7\u05df\u05d1\u05dc\u05d7\u05e0\u05e1\u200e”是希伯来语中某人的名字,如何将其编码为与名字本身一样完美

多谢各位

编辑:我发现unicode是“utf-8”,我需要在字符串之前添加“u” 但是,如果我的程序得到一个字符串,该怎么办呢?如何将“u”添加到现有字符串中? 谢谢

编辑:更新代码:

def insertNewNotification(notification_list, owner):

for notification in notification_list:
    notification = repr(notification['title_text'])
    notification = str(notification)
    notification = unicode(notification, 'unicode-escape')
    notification = notification.encode("UTF-8").decode("UTF-8")
    print "notification of " + owner + " is " + notification
    response = json.load(urllib.urlopen((url + "add_notification&message=" + notification + "&owner=" + owner).encode("UTF-8")))
return 1

{u'title\u text':u'Texas HoldEm扑克:快点!认领你的
现在$25000免费芯片!}
是一个带有Unicode键和值的字典的表示(
repr()

u”“
是Python中的Unicode文本。只能在Python源代码中键入
u

您可能在某个地方有以下代码
print“某人的通知”,data

您应该使用
打印数据['title\u text']

了解以下两者之间的区别:

>>> s = u"\u2324"
>>> s
u'\u2324'
>>> s.encode('utf-8')
'\xe2\x8c\xa4'
>>> print repr(s)
u'\u2324'
>>> print s
⌤

当我使用['title\u text']时,它给了我:字符串索引必须是整数,而不是str。上面假设
数据
是一个字典。如果它是字符串,你需要知道它从哪里来,避免做
str(data)
upstreamGreat,效果很好。唯一的问题是当我在这里打印它给我u”文本时,我将其转换为STR,如何删除u和“”,谢谢!我的错,当我从unicode转换为str时,它给了我:“ascii”编解码器无法对位置40-45的字符进行编码:序号不在范围(128)内,我应该如何删除unicode前缀?@某人:内存中没有unicode前缀。只有Unicode字符串(请查看上面的
s
Unicode字符串)。你想用它们做什么:打印到你的终端,保存到文件,数据库等?删除所有东西,除了
u=notification['title_text'];打印u
。什么是
类型(u)
?如果我这样做,则输入错误:repr(通知['title\u text'])它以unicode格式将文本与u一起提供!!!哇哈。。。非常感谢你!我现在将继续从文档中学习更好的python,再次感谢您。