求一个获取汇率的 Python 的脚本 之前的全不能用了。。。

2017-11-04 00:17:10 +08:00
 woshichuanqilz

这个是我之前找的我一个脚本 现在不行了

#python
import json,urllib
from urllib.parse import urlencode
import urllib.request

url = 'http://api.k780.com'
params = {
  'app' : 'finance.rate',
  'scur' : 'USD',
  'tcur' : 'CNY',
  'appkey' : 'APPKEY',
  'sign' : 'SIGN',
  'format' : 'json',
}
params = urlencode(params)

f = urllib.request.urlopen('%s?%s' % (url, params))
nowapi_call = f.read()
#print content
a_result = json.loads(nowapi_call)
if a_result:
  if a_result['success'] != '0':
    print(a_result['result'])
  else:
    print(a_result['msgid']+' '+a_result['msg'])
else:
  print('Request nowapi fail.')

试了几个类似的程序也都不行了 结果都是

(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None)))

所以想问各位有没有什么好办法。

3510 次点击
所在节点    Python
9 条回复
CEBBCAT
2017-11-04 00:31:39 +08:00
应该是接口变了

https://www.nowapi.com/api/finance.rate_cnyquot

听说雅虎也提供 API,自己改改代码吧
noqwerty
2017-11-04 04:38:07 +08:00
雅虎 Google 都有 API,或者图省事的话 https://pypi.python.org/pypi/forex-python 直接装包呗。
chen2016
2017-11-04 07:51:47 +08:00
接口不是固定不变的。这种情况要么自己写,要么找人付费改
jianghu52
2017-11-04 11:32:47 +08:00
依照楼主的代码,我这边有一点小问题。就是在第七行。url = 'http://api.k780.com' 要改成 url = 'http://api.k780.com/'
这样我就能得到正确的 json。当然,我用的 appkey,sign 都是他事例中提供的值,我没有注册,所以我觉得可能不是脚本不对,而是楼主需要重新取一下 appkey 了吧?
woshichuanqilz
2017-11-04 14:12:51 +08:00
@noqwerty

这个试过了 还是不行的

![pic]( http://7xpvdr.com1.z0.glb.clouddn.com/1104141221.png)
woshichuanqilz
2017-11-04 14:16:25 +08:00
dd99iii
2017-11-04 15:57:10 +08:00
jianghu52
2017-11-04 19:27:34 +08:00
@woshichuanqilz 一模一样的代码,我这里移动宽带。运行显示成功。这个问题在我这里再现不了,抱歉,帮不了你了。
ws1689371
2017-11-14 11:45:16 +08:00
这么多 api,重新找个 ok 的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/403401

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX