我想刮韩国航班的网站,其中提供了连续航班隐藏的api
但是当我在postman中检查它时,它会工作并显示结果,当我在使用python的请求中尝试它时,它会显示空白记录。
这是网站https://suvarnabhumi.airportthai.co.th/flight
,这是api
'https://apis.airportthai.co.th/'请求有效负载在以下代码中给出:
import requests
from requests import session
import json
from pprint import pprint
headers = {
#"Content-Type": "application/text;",
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36",
"Accept" : "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
"Accept-Language": "en-US,en;q=0.9,ur;q=0.8",
"sec-ch-ua": 'Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"',
"Sec-Fetch-Mode": "cors",
"Referer": "https://suvarnabhumi.airportthai.co.th/"
}
data = {"query":"\n query ($site: String, $type: FlightType, $search: String, $schedule_start: String, $schedule_end: String) {\n flights(site: $site, type: $type, search: $search, schedule_start: $schedule_start, schedule_end: $schedule_end) {\n flight_id\n number\n airline_id\n aircraft_id\n departure_scheduled_at\n arrival_scheduled_at\n flight_departure {\n id\n site_id\n remark\n terminal\n gate\n check_in_counter\n status_color\n estimated_at\n actual_at\n scheduled_at\n updated_at\n flight_shares\n __typename\n }\n flight_arrival {\n id\n site_id\n belt\n terminal\n remark\n status_color\n estimated_at\n first_bag_at\n last_bag_at\n flight_shares\n __typename\n }\n origin_airport {\n id\n name\n city\n iata_code\n icao_code\n __typename\n }\n destination_airport {\n id\n name\n city\n iata_code\n icao_code\n __typename\n }\n airline {\n id\n iata\n icao\n name\n logo\n __typename\n }\n aircraft {\n id\n name\n iata\n icao\n __typename\n }\n updated_at\n __typename\n }\n }\n ","variables":{"site":"bkk","type":"A","search":"","schedule_start":"2021-08-24 11:49:00","schedule_end":"2021-08-24 23:59:59"}}
url = " https://apis.airportthai.co.th/"
r = requests.post(url, data = data, headers = headers)
print(r.json())
当它运行时,会给我空白结果:
{'data': {'flights': []}}
这对我有用
数据线的长度可能太长了
您提供的标题不是必需的
此外,在提交有效负载时,请使用
json
格式而不是行格式数据以下是我这边的工作解决方案:
代码:
输出:示例 航班号
试试这个:-
相关问题 更多 >
编程相关推荐