[英]GET api request is working in POSTMAN but not in python code , I want to download the response as csv
以上 url 是获取请求 Url,我的 python 代码如下
import requests
url = "https://www.nseindia.com/api/corporates-pit?index=equities&from_date=21-04-2020&to_date=21-07-2020&csv=true"
payload = {}
headers= {}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
我也试过 http.client
import http.client
import mimetypes
conn = http.client.HTTPSConnection("www.nseindia.com")
payload = ''
headers = {}
conn.request("GET", "/api/corporates-pit?index=equities&from_date=21-04-2020&to_date=21-07-2020&csv=true", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
错误/秒
urllib3.exceptions.ProtocolError: ('Connection aborted.', TimeoutError(10060, 'A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond', None, 10060, None))
During handling of the above exception, another exception occurred:
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', TimeoutError(10060, 'A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond', None, 10060, None))
请在下面找到您的代码的工作版本。 您需要将agent
和cookies
变量传递给requests
。
import requests
csv_url = "https://www.nseindia.com/api/corporates-pit?index=equities&from_date=21-04-2020&to_date=21-07-2020&csv=true"
agent = {"User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36'}
cookies = {"cookie":"COPY_HERE_YOUR_COOKIE_FROM_BROWSER"}
req = requests.get(csv_url,headers=agent, cookies=cookies)
url_content = req.content
csv_file = open('downloaded.csv', 'wb')
csv_file.write(url_content)
csv_file.close()
更新代码
import requests
session = requests.Session()
print(session.cookies.get_dict())
response = session.get('http://google.com')
print(session.cookies.get_dict())
from_date = '21-04-2020'
to_date = '21-07-2020'
csv_url = "https://www.nseindia.com/api/corporates-pit?index=equities&from_date="+from_date+"&to_date="+to_date+"&csv=true"
agent = {"User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36'}
#cookies = {"cookie":"COPY_HERE_YOUR_COOKIE_FROM_BROWSER"}
req = session.get(csv_url,headers=agent)
url_content = req.content
csv_file = open('downloaded.csv', 'wb')
csv_file.write(url_content)
csv_file.close()
print("Done")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.