首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用请求查询获取社交媒体用户名?

如何使用请求查询获取社交媒体用户名?
EN

Stack Overflow用户
提问于 2021-10-31 11:12:01
回答 1查看 37关注 0票数 0

我正在尝试使用python的请求库从this个人资料中接收社交媒体,但我似乎不能在这里工作,这是我的尝试之一:

代码语言:javascript
复制
import requests
def get_user():
    url = "https://hasura2.foundation.app/v1/graphql"

    headers = {
        "user-agent": "Mozilla/5.0"
    }

    query = """
        query hasuraUserProfileByPublicKey($publicKey: String!) {
            user: user_by_pk(publicKey: $publicKey) {
        ...HasuraUserFragment
        }
    }

    fragment HasuraUserFragment on user {
        instaSocialVerifs {
                0 {
                    username
                }
        }
        twitSocialVerifs {
                0 {
                    username
                }
        }
        links
    }
"""

payload = {
    "operationName": "hasuraUserProfileByPublicKey",
    "query": query,
    "variables": {
        "publicKey": "0xF9D6fcE6Cce28c0Cd62c5CAf045f4F6233888989"
    }
}

response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()

return response.json()["data"]["user"]

我得到了一个错误:

代码语言:javascript
复制
    return response.json()["data"]["user"]
    KeyError: 'data'

我是一个相当新手的网络抓取,并感谢任何帮助!

EN

回答 1

Stack Overflow用户

发布于 2021-10-31 12:03:21

我将解释这个错误,以及在以后使用response.json()["data"]["user]时应该如何处理字典。如果response.json没有数据键,您将收到此错误。我的建议是,首先看一下response.json(),打印这个键,看看它返回了什么类型的数据,然后我建议你使用一个像这样的符号,response.json().get("data", {}).get("user","")不会给出错误,即使你在响应中没有得到这些键。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69786313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档