Я пытаюсь получить результаты запроса объявлений Facebook в базу данных pandas, но возвращенный объект не сотрудничает.Получите Facebook Ads Результаты поиска в pandas dataframe
Я бегу простой пример использования асинхронной как изложено Facebook здесь: https://developers.facebook.com/docs/marketing-api/insights/v2.6
campaign = Campaign(my_campaign)
params = {
'level': 'ad',
'date_preset': 'lifetime',
'time_increment': 1,
'fields': ['date_start', 'ad_id', 'ad_name', 'spend', 'reach', 'total_actions']
}
async_job = campaign.get_insights(params=params, async=True)
async_job.remote_read()
while async_job[AsyncJob.Field.async_percent_completion] < 100:
time.sleep(1)
async_job.remote_read()
time.sleep(1)
result = async_job.get_result()
И тогда я пытаюсь изменить результат в список а-ля этот ответ здесь: https://stackoverflow.com/a/36397567/5459606
result = [x for x in async_job.get_result()]
type(result)
Это возвращает результат в виде списка, но я получаю сообщение об ошибке при попытке прочитать в панд с использованием DF = pd.DataFrame (результат)
, если я смотрю на то, что возвращается я вижу каждый элемент списка выглядит следующим образом:
<AdsInsights> {
"ad_id": "6035212284443",
"ad_name": "Outlook - Image 2, copy 1",
"date_start": "2015-11-21",
"date_stop": "2015-11-21",
"reach": 625,
"spend": 2.4,
"total_actions": 10
}
И если я прошу типа этого obejct, это facebookads.adobjects.adsinsights.AdsInsights и не словарь, который Я предполагаю, что проблема. Кто-нибудь знает, как решить эту проблему, и позвольте мне использовать панды для чтения этих результатов в Facebook.
Эй, спасибо за ответ. Я следил за тем, как вы это делали в своем примере (result = [x for x in async_job.get_result()]), но я получил ошибку. KeyError: «None» –
О, я забыл, что вы используете «асинхронный». Если вы хотите получить данные, вы должны изменить «async = True» на «async = False». Я помогу на этот раз, когда это может помочь. –
Эй, я очень ценю помощь. К сожалению, он по-прежнему не работает из-за KeyError: «None». Я думаю, проблема заключается в том, что когда я смотрю на одну запись в списке результатов, используя результат [0] .keys(), я вижу тонну ключей там (независимо от тех, которые я выбираю в параметрах моих полей) и один тогда None, а не как строка. Просто сижу там, как «Нет», прямо посередине, все испортить (я думаю). –