【发布时间】:2021-08-02 12:16:18
【问题描述】:
我正在尝试使用 Python 的请求库从“https://tradingtick.com/backtest/position-strategy-backtest.php”中抓取数据。
我正在使用以下代码来抓取到期列表。输入是通过检查开发者控制台的网络选项卡获得的。虽然我在开发人员的控制台中看到了响应,但我的 python 脚本产生了一个奇怪的加密(我假设)响应。
请帮助理解问题。谢谢!
代码-
import requests
strategy_backtest_url = "https://tradingtick.com/backtest/position-strategy-backtest.php"
strategy_backtest_header = {
"Accept": "application/json, text/plain, */*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-US,en;q=0.9,hi;q=0.8",
"Connection": "keep-alive",
"Content-Type": "application/json;charset=UTF-8",
"DNT": "1",
"Host": "tradingtick.com",
"Origin": "https://tradingtick.com",
"Referer": "https://tradingtick.com/backtest/position-strategy-backtest.php",
"sec-ch-ua": "\" Not;A Brand\";v=\"99\", \"Microsoft Edge\";v=\"91\", \"Chromium\";v=\"91\"",
"sec-ch-ua-mobile": "?0",
"Sec-Fetch-Dest": "empty",
"Sec-Fetch-Mode": "cors",
"Sec-Fetch-Site": "same-origin",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.64"
}
underlying = "banknifty"
option_expiries = requests.post(strategy_backtest_url, headers = strategy_backtest_header, json = {"type":"expiry", "underlying":underlying})
产生以下输出
print(option_expiries.text)
"\x03�\x00\x00D�M��7i��\x1f�%H\x04�� ���\x03�Y\x01\x06@\t'x@z\x07\x15����q���|��i�\x03�1�K:�\x02/j\x19\x1c�:48q�\x01%���\x1dА%ے�H�$�\t*�a\x00\x03"
【问题讨论】:
-
上面的代码对我来说似乎执行得很好,我可以看到一个到期列表作为输出。
-
这很奇怪。又试了一次。但是给我上面的垃圾。
-
您使用的 python 和请求库版本是什么?
标签: python web-scraping python-requests