使用requests请求NSEIndia股票URL失败,报invalid syntax error求解决
问题解决:Python代码语法错误修复
你的代码存在两个明确的语法错误,直接导致了invalid syntax报错:
错误1:字符串未用引号包裹
url = https://www.nseindia.com/get-quotes/equity?symbol=ACC这一行中,URL属于字符串类型,但没有用单引号或双引号包裹,Python会将其识别为无效的变量名组合,触发语法错误。
错误2:字符串引号不匹配
requests.get('https://www.nseindia.com/get-quotes/equity?symbol=ACC'')这一行中,字符串结尾多了一个单引号,造成引号无法正常闭合,违反Python的字符串语法规则。
修正后的代码
import requests # 给URL添加引号,用变量复用更规范 url = 'https://www.nseindia.com/get-quotes/equity?symbol=ACC' # 修复引号问题,同时添加请求头(NSE网站需验证请求来源) headers = { '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' } response = requests.get(url, headers=headers) # 打印响应内容而非响应对象,才能查看实际数据 print(response.text)
额外说明
NSE India的服务器会校验请求的User-Agent头部,若不添加该字段,会返回403禁止访问的响应,因此必须在请求中携带符合浏览器规范的请求头。
内容的提问来源于stack exchange,提问作者Brijesh Chaurasia
相关产品推荐
相关产品推荐

