【发布时间】:2020-12-18 08:53:21
【问题描述】:
我正在尝试从该位置提取 json - https://www.nseindia.com/api/option-chain-indices?symbol=BANKNIFTY
这在我的浏览器中可以正常打开,但是在 python 中使用请求会引发 401 权限错误。我尝试添加具有不同参数的标题,但无济于事。 有趣的是,此页面上的 json 在单独打开 https://www.nseindia.com 之前也不会在浏览器中打开。我相信它需要某种身份验证,但令人惊讶的是它可以在没有任何身份验证的情况下在浏览器中运行。
有没有办法从这个 url 中提取信息?非常感谢任何帮助。
这是我的实现 -
import requests
url = 'https://www.nseindia.com/api/option-chain-indices?symbol=BANKNIFTY'
# This throws a 401 response error
page = requests.get(url, headers={"User-Agent": "Mozilla/5.0"})
# This throws a 'Connection aborted' error
page = requests.get(url, headers={"User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 GTB7.1 (.NET CLR 3.5.30729)"})
【问题讨论】:
-
我刚刚用浏览器访问了此链接,但它无法正常工作 (401)
-
你需要打开 www.nseindia.com 然后刷新链接,它才能工作。
-
奇怪的是,您需要访问 www.nseindia.com 然后链接才有效。您可能需要
selenium而不是请求
标签: python web-scraping python-requests