如何在python中向Graphql发送post请求

2024-04-29 09:13:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从这个链接中获取数据:

https://www.realestate.com.au/find-agent/victoria-park-wa-6100?page=1&source=results

这在后端有一个API,它是这样的:

https://www.realestate.com.au/agent/graphql

我想要API中的数据,但当我试图用适当的头、cookie和负载将请求发布到API URL时, 它只是不返回任何内容,响应代码是429。如何从中获取数据

这是我的密码:

import requests
url = 'https://www.realestate.com.au/agent/graphql'

cookies = {
    'reauid':'97fa56b87e4a0000f2385760e50300009f5d0f00',
    'Country':'PK',
    'mid':'14438305973304081772',
    'AMCVS_341225BE55BBF7E17F000101%40AdobeOrg':'1',
    '_gid':'GA1.3.363416576.1616328955',
    's_vi':'[CS]v1|302B9C7D549B351B-400019144A08CC6D[CE]',
    's_ecid':'MCMID%7C41762198941431542153915924747747631103',
    's_cc':'true',
    'VT_LANG':'language%3Den-US',
    '_fbp':'fb.2.1616328959328.1411085120',
    'Country':'PK',
    'mako_fpc_id':'f3b48060-6ca0-468b-8417-5c4331844f22',
    'id5id.1st':'%20%7B%20%22created_at%22%3A%20%222021-03-21T12%3A16%3A10.947Z%22%2C%20%22id5_consent%22%3A%20true%2C%20%22original_uid%22%3A%20%22ID5-ZHMOgkOOAbPohthleKT8pkJQyU4qgaQLzVhn2vjkdQ%22%2C%20%22universal_uid%22%3A%20%22ID5-ZHMOlX7LDRWCg5thfmHmJYTpjMpYoxNkps0RO4mHMg%22%2C%20%22signature%22%3A%20%22ID5_AVgTqToz-RwfYrCSdJNsDXapMhWzat2ZJDrIUlpnfg49tidRyqWyv44N4JSdkpkQCCeTqAvnWvorzkP2kyxW9xg%22%2C%20%22link_type%22%3A%202%2C%20%22cascade_needed%22%3A%20true%7D',
    'id5id.1st_last':'1616328980966',
    'id5id.1st_123_nb':'1',
    'KP_UID':'62c184c4-5d0a-1bea-c6e7-91aa3f0d9170',
    's_nr':'1616329068252',
    'optimizelyEndUserId':'oeu1616329142109r0.5813387456564119',
    'QSI_HistorySession':'https%3A%2F%2Fwww.realestate.com.au%2Ffind-agent%2Fvictoria-park-wa-6100%3Fpage%3D2%26source%3Dresults~1616329155251%7Chttps%3A%2F%2Fwww.realestate.com.au%2Ffind-agent%2Fvictoria-park-wa-6100~1616329253399',
    'pageview_counter.srs':'6',
    '_sp_ses.2fe7':'*',
    '_sp_id.2fe7':'c11fc61a-511f-444b-b13d-e6f2c8fb6b8a.1616328956.2.1616342069.1616329598.eb012e36-bbed-4392-a09c-d62fb91be650',
    'AMCV_341225BE55BBF7E17F000101%40AdobeOrg':'-330454231%7CMCIDTS%7C18708%7CMCMID%7C41762198941431542153915924747747631103%7CMCAAMLH-1616946870%7C3%7CMCAAMB-1616946870%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1616349270s%7CNONE%7CMCAID%7C302B9C7D549B351B-400019144A08CC6D%7CvVersion%7C3.1.2',
    'utag_main':'v_id:017854b683fe0022250ca432779003072002806a00ac2$_sn:2$_ss:1$_st:1616343868874$vapi_domain:realestate.com.au$dc_visit:2$ses_id:1616342068874%3Bexp-session$_pn:1%3Bexp-session$dc_event:1%3Bexp-session$dc_region:ap-southeast-2%3Bexp-session',
    '_ga_F962Q8PWJ0':'GS1.1.1616342070.3.1.1616342070.0',
    's_sq':'rea-live%3D%2526pid%253Drea%25253Afind%252520agent%25253Aagent%25253Asearch%252520results%2526pidt%253D1%2526oid%253DfunctionGn%252528%252529%25257B%25257D%2526oidt%253D2%2526ot%253DI',
    '_ga':'GA1.3.1408343425.1616328955',
    'External':'%2FAPPNEXUS%3D4266307067876008443%2FCASALE%3DX5bknF4BHoabg%252EzfklIojAAA%2526910%2FPUBMATIC%3DE3F1E12A-9392-415E-BFA3-8E9A2D3A6383%2FRUBICON%3DKGQO4LPG-4-7Y1I%2FTRIPLELIFT%3D160265391696123554%2F_EXP%3D1647865599%2F_exp%3D1647878076',
    'KP_UIDz':'yUnIUb0EADu6yImuJJoiMg%3D%3D%3A%3A%2FqE7f94x3rHA3%2BvYtT%2Bv4%2FcW4GYxllP4anD08Hq4FmNu5ugf6Isao9z55BLj3WBys0B31rdKQtgaedJ2zCDhPZtXrNTiV5QeDDwkaGEQYhBjxdQVhsC8E5FQjna%2BPZNwyg9cQT7xF%2FS%2B%2BLKbqK9K1guUSfguzdcZ6ob%2BQfW4Xrvp9236ErvSUvIHgfhEG%2FLzH%2F5SVT1Ca7d9s8%2BnjDgd2BY71izEKYEeO5DyS6S%2FV8yuPBseKhasQTdMkPW6pk3TuXpNQWgM%2FgAzc1qHo1cI4ykNj4HjkQ6m8nwQvsl503nC6HLxDV7PeLbfC8Ikm%2F05rZ35B6Ma4Y3JvUCDPlp%2FiHEaixL8WfE0fITZEVYqg0%2Bv3wtZQPw7whVZLJqqlCWbMSqiuJJETunCcqOhT%2FTq9HbRveilvWmicUnchqTae5SRmlaLnwxq%2B8Fq5%2FnhrcziYOm%2BDjeUaPnrkQMBwI5mxOa%2BEkWkzfw9lNZzZUz751OMNPAXN59sZjEgFQpifPfehP8HVHMxz2MdmNvbpnTmUugaw8yiztFpR%2FV0aq4YAs0%3D'
}




headers = {
    'authority':'www.realestate.com.au',
    'method':'POST',
    'path':'/agent/graphql',
    'scheme':'https',
    'accept':'*/*',
    'accept-encoding':'gzip, deflate, br',
    'accept-language':'en-US,en;q=0.9',
    'content-length':'306',
    'content-type':'application/json',
    'origin':'https://www.realestate.com.au',
    'referer':'https://www.realestate.com.au/find-agent/victoria-park-wa-6100',
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36',
    'x-challenge-answer':'99',
    'x-challenge-id':'77ae6ec7-633c-71e1-7832-c02bd28e7f50',
    'x-kpsdk-ct':'pRMSkAdSibHPPG0L/pjVxg==::/xBWxiHXSjmKKZRR8vtGs5p6JrZa3Skg8vOgTgUFirDFuzjCllM26hjOEbjBhXKsZ5LvpJPTQXHJe42jMf5pS4X5lQXm0JkWVvp2KG1v7l1q1V5rYEbgeaZ8iuqUfnJp/jXGygD0SnHn4S4qNUoW4ylyGHv/073BRTgrkbIiKMCYh3PaQB+bEpuX4chRhVaWtWS6G3uDV9QUYRzOs0kABsrKDa3U9WZ8rPv+fGQstYD2nsX4ZFdCAi00qXvzgLj5a9LBv4OtoaQzG8qoKkPLODCMkPKjcfLFovVJ5HE7+BX0628rscBfvHPVDnkzGOp8taB0JNcUaeLcSWLXd75Jzmg802+PIgMg9BhTPtIhCq1FFmXiAmnhFM0kb7zltqSY3oIu1H7w81Wy6ZA8aADcS7tbw++ehvJHRSqQxhcxxT4OnrqasvvWB8AQo6Ek5sPjoj/C2fh4ZxQ14V4QEKTWhl1NaFCx7qhDPcAJD5fSPJt7H4CYV515AgnLRf7ZdIoY1mDYJkR7RcJq9FdIwl0GOhjC4im1YvjNU86dQ4vQoYw=',
    'x-kpsdk-fp':'62c184c4-5d0a-1bea-c6e7-91aa3f0d9170'
}

body = '{"operationName":"suburbSuggestions","variables":{"query":"3000"},"query":"query suburbSuggestions($query: String) {\n  SuburbSuggestions(query: $query) {\n    suggestions {\n      id\n      label\n      slug\n      locality\n      postcode\n      state\n      __typename\n    }\n    __typename\n  }\n}\n"}'


r = requests.post(url, data=body, cookies=cookies, headers=headers)
print(r.status_code)
print(r.content)

打印输出:

429
b''

Tags: httpscomapiidparksessionwwwquery