如何用python向Graphql发送post请求



我想刮掉这个网站https://www.weisse-liste-pflege.de/如果我们在搜索栏中搜索柏林,打开开发人员工具,并在网络选项卡中向Graphql发出post请求,它包含JSON中的所有数据,我想要这些数据。这是我的代码。

import requests
url = 'https://www.weisse-liste-pflege.de/graphql'
r = requests.post(url)
r
<Response [500]>

任何请指导我如何实现json数据

您需要传递有效负载在您的请求中作为json参数出现在Request Payload部分。

import requests
data = {"operationName":"getAdvisoryOfficeDetails","variables":{"lat":"52.51767","lon":"13.40553"},"query":"query getAdvisoryOfficeDetails($lat: String, $lon: String) {n  advisoryOffice(lat: $lat, lon: $lon) {n    statusn    msgn    hrefn    result_countn    data {n      addressn      cityn      contact {n        contact_namen        emailn        telephonen      }n      distancen      hrefn      idn      namen      providern      staten      updatedn      urln      zipn    }n  }n}n"}
response = requests.post('https://www.weisse-liste-pflege.de/graphql', json=data)
print(response.json())
# {"data":{"advisoryOffice":{"status":200,"msg":"Request successful.","href":"https://www.zqp.de/beratung-pflege/?lat=52.51767&lng=13.40553&filter=3+13+14","result_count":1,"data":[{"address":"Fischerinsel 3","city":"Berlin","contact":[{"contact_name":null,"email":null,"telephone":"030-20454615"}],"distance":"0.5324999652222573","href":null,"id":"BE-0143","name":"Rat & Tat für Ältere Menschen","provider":"Mehrgenerationenhaus Berlin Mitte - KREATIVHAUS e.V.","state":"BE","updated":"2018-02-19 12:53:13","url":"http://www.kreativhaus-berlin.de/web/rat-tat","zip":"10179"}]}}}

要从其他位置获取数据,可以更改坐标{"lat":"52.51767","lon":"13.40553"}

最新更新