我正在尝试访问这个Binance网站上的数据。它是P2P:https://p2p.binance.com/en/trade/buy/USDT。
对于BUY,我在python3中使用了这个(我正确地获得了本节的数据):
import requests
headers = {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en-US;q=0.9,en;q=0.8",
"Cache-Control": "no-cache",
"Connection": "keep-alive",
"Content-Length": "123",
"content-type": "application/json",
"Host": "p2p.binance.com",
"Origin": "https://p2p.binance.com",
"Pragma": "no-cache",
"TE": "Trailers",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0"
}
data = {
"asset": "USDT",
"fiat": "ARS",
"merchantCheck": False,
"page": 1,
"payTypes": [],
"publisherType": None,
"rows": 50,
"tradeType": "BUY"
}
r = requests.post('https://p2p.binance.com/bapi/c2c/v2/friendly/c2c/adv/search', headers=headers, json=data)
print(r.text)
但是当我想访问页面的这一部分时:https://p2p.binance.com/en/trade/sell/USDT(卖出),我不能这样做。因为当我在数据中更改以下内容时:"tradeType": "SELL"
,它仍然给我带来相同的买入值。它从来没有给我带来卖出数据。
我还不知道为什么
4条答案
按热度按时间uqzxnwby1#
而不是发送请求到网站本身,你可以发送一个请求到源本身。如果你检查你的控制台,而网站加载结果,你会注意到它发送一个请求到https://p2p.binance.com/bapi/c2c/v2/friendly/c2c/adv/search返回一个数组的交易细节。我相信这是你需要的。
eivgtgni2#
扩展公认的答案:
https://p2p.binance.com/bapi/c2c/v2/friendly/c2c/adv/search
POST字段
asset:
当前可用资产USDT, BTC, BNB, BUSD, ETH, DAI
。fiat:
其长,访问sanchezmarcos.merchantCheck:
我不知道它的用途,但值是null, true, false
。page:
端点已分页。payTypes:
支付类型数组,例如BANK,GoMoney,CashDeposit等。payTypes取决于所使用的法币,因此您可能看不到其中的一些,但有很多支付类型。
publisherType:
我只知道merchant
。row:
从1 - 20
开始的行数。tradeType:
BUY
或SELL
。transAmount:
按金额筛选商家。**注意:**该API是Binance内部操作,可以随时更改。
根据评论,似乎某些值的错误规范可能会导致未知的错误。
xa9qqrwz3#
我确实检查了API调用的结果,并确认数据是正确的,除了
tradeType
,你没有做错什么。dgsult0t4#
您需要使用它:
client.get_c2c_trade_history()并转到['data']下一步是像json或dateframe一样工作,您需要的列具有头'tradeType'