python 请求无法连接到 NSE 印度,连接错误

RAV*_*tel 3 python connection python-requests

导入请求

x = requests.get(' https://www1.nseindia.com/live_market/dynaContent/live_watch/equities_stock_watch.htm ' )

打印(x.status_code)

打印(x.内容)

给出连接错误。请帮忙如何纠正。

Var*_*002 5

尝试这个:

import requests

url = "https://www1.nseindia.com/live_market/dynaContent/live_watch/equities_stock_watch.htm"
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, '
                         'like Gecko) '
                         'Chrome/80.0.3987.149 Safari/537.36',
           'accept-language': 'en,gu;q=0.9,hi;q=0.8', 'accept-encoding': 'gzip, deflate, br'}
session = requests.Session()
request = session.get(url, headers=headers, timeout=5)
cookies = dict(request.cookies)
response = session.get(url, headers=headers, timeout=5, cookies=cookies)
print(response.status_code)
print(response.content)
Run Code Online (Sandbox Code Playgroud)

此代码用于您第一次尝试在程序中访问该网站,如果您多次访问该网站,则使用此代码: response = session.get(url, headers=headers, timeout=5, cookies=cookies)每次您尝试再次访问时。告诉我这是否有效

  • 我注意到 nseindia 以某种方式将基于 IP 地址的请求列入黑名单,上述代码适用于位于印度的 IP,而我对美国和欧洲 IP 的读取超时。奇怪的是,当我使用浏览器访问 nseindia 时,它适用于所有 IP。我将检查基于 selenium 的解决方案是否适用于所有 IP (2认同)