使用FB_api拉取后台数据

这个脚本展示了如何通过Facebook Graph API获取广告数据,并利用curl和jq进行处理。它首先定义了appkey和广告JSON名称,然后通过curl获取特定日期范围内的数据。接着,使用jq对JSON数据进行解析,提取关键字段并转换为CSV格式。最后,对数据进行过滤和追加操作,将结果保存到CSV文件中。
摘要由CSDN通过智能技术生成

使用FB_api拉取后台数据

思路就是通过 curl 请求进行拉取,并用jq对获取到的json 数据进行解析。

#!/bin/bash
appkey=这里填写appkey信息
ads_json_name=ads_json_MK


                get_curl_datas(){
                echo ${1}
                curl -G -d "breakdowns=country"  -d "time_range={%22since%22:%22${day}%22,%22until%22:%22${day}%22}" -d "level=ad" -d "fields=ad_id,spend,ad_name,adset_id,adset_name,campaign_id,campaign_name,impressions,clicks,created_time,actions" -d "access_token=这里填写密钥" "https://graph.facebook.com/v7.0/act_${1}/insights?limit=500">json_data/${ads_json_name}
        }
                get_jq_datas(){
                ./jq-linux64 --raw-output '{data:.data[]}|.[]|["1590028813409",.ad_id,.ad_name,.country,.spend,.impressions,.clicks,.adset_id,.adset_name,.campaign_id,.campaign_name,.date_start,.date_stop,.actions[(.actions|map(.action_type)?|index("omni_app_install"))].value]|@csv' json_data/${ads_json_name} | grep _ | tr -d "\"\t" >./datas/${appkey}/ads.csv
                #处理数据
                cat  ./datas/${appkey}/ads.csv | while  read  line
                do                   
                num=`echo ${line}|grep -o ,|grep -c ,`
                if  [  ${num}  =  "12"  ] ;then

                         line=${line}",0"
                        echo $line       
                fi
                echo $line >>./datas/${appkey}/csv/ads-${day}.csv
        done

        }

        #开始运行,读取account列表
        day=$1
        rm -rf ./datas/${appkey}/csv/ads-${day}.csv
        cat mk_account_list | while read line
        do
                url_next=""
                until [[ $url_next  ==  "null" ]]
                do
                        url_next=`./jq-linux64 --raw-output '[.paging]|.[]|[.next]|.[]' json_data/${ads_json_name}`
                        echo $url_next
                        #./datas/${appkey}/csv/ads-${day}.csv

                if [[ $url_next  ==  "" ]]; 
                then
                        echo "调用curl拉取---${line}"
                        get_curl_datas ${line}
                        get_jq_datas 

                elif [[ $url_next  ==  "null" ]];
                then
                        echo "完成"
                        > json_data/${ads_json_name}

                else
                        echo "处理为表格并重新请求next_curl"
                        curl "$url_next" > json_data/${ads_json_name}
                        get_jq_datas

                fi
        done
done
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王子健121

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值