Ошибка API потока Facebook работает в браузере, но не на стороне сервера

1

Если я введу этот URL-адрес в браузере, он вернет мне действительные XML-данные, которые меня интересуют соскабливанием.

http://www.facebook.com/ajax/stream/profile.php?__a=1&profile_id=36343869811&filter=2&max_time=0&try_scroll_load=false&_log_clicktype=Filter%20Stories%20or%20Pagination&ajax_log=0

Однако, если я делаю это со стороны сервера, он не работает так, как ранее. Теперь он просто возвращает эту ошибку, которая, по-видимому, является сообщением об ошибке по умолчанию

{u'silentError': 0, u'errorDescription': u"Something went wrong. We're working on getting it fixed as soon as we can.", u'errorSummary': u'Oops', u'errorIsWarning': False, u'error': 1357010, u'payload': None}

вот код, о котором идет речь, я попробовал несколько агентов пользователя, но не помогло:

import urllib2
user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; he; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3'
uaheader = { 'User-Agent' : user_agent }
wallurl='http://www.facebook.com/ajax/stream/profile.php?__a=1&profile_id=36343869811&filter=2&max_time=0&try_scroll_load=false&_log_clicktype=Filter%20Stories%20or%20Pagination&ajax_log=0'

req = urllib2.Request(wallurl, headers=uaheader)
resp  = urllib2.urlopen(req)        
pageData=convertTextToUnicode(resp.read())
print pageData #and get that error

Какая разница между вызовами сервера и моим собственным браузером, кроме User Agents и IP-адресов?

  • 0
    Если вы пытаетесь получить данные из Facebook (или любого стороннего сервиса), вы должны использовать их API, а не очищать страницы.
Теги:
facebook
scraper

1 ответ

2
Лучший ответ

Я попробовал вышеуказанный url как в хроме, так и в firefox. Он работает на chrome, но не работает на firefox. На хром я подписался на facebook, а на Firefox - нет.

Это может быть причиной этого несоответствия. Вам необходимо будет предоставить аутентификацию в вашем script на основе urllib2, который вы опубликовали.

Существует вопрос существующий вопрос по аутентификации с urllib2.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню