2013-02-23 2 views
0

Я собираюсь по кругу и пробовал так много разных способов, поэтому, я думаю, мое основное понимание неверно. Я был бы признателен за помощь в понимании моих проблем с кодировкой/расшифровкой.Кодирование API Facebook Graph - Python

import urllib2 

result = urllib2.urlopen("https://graph.facebook.com/163146530455639") 
rawdata = result.read().decode('utf-8') 

print "HEADER: " + str(result.info()) 

print "I want this to work ", rawdata.find('http://www.facebook.com') 
print "I dont want this to work ", rawdata.find('http:\/\/www.facebook.com') 

Я предполагаю, что im получение isnt utf-8, хотя заголовок, кажется, говорит, что это так. Или как новичок на Python, делающий что-то немое. :(

Спасибо за любую помощь,

Phil

+0

Я попытался: chardet.detect (rawdata) {'trust': 1.0, 'encoding': 'ascii'} – fleaheap

ответ

1

Вы получаете JSON обратно из Facebook, так что проще всего сделать, это использовать встроенный в json модуль для декодирования это (при условии, что вы . с помощью Python 2.6+, в противном случае вам придется установить)

import json 
import urllib2 

result = urllib2.urlopen("https://graph.facebook.com/163146530455639") 
rawdata = result.read() 
jsondata = json.load(rawdata) 

print jsondata['link'] 

дает:

u'http://www.facebook.com/GrosvenorCafe'