设为首页收藏本站
559型钢笔

钢笔论坛

 找回密码
 论坛注册(注册原因请填:钢笔)

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 7909|回复: 31
打印 上一主题 下一主题

绕了一圈,还是回论坛求助吧

[复制链接]
跳转到指定楼层
1#
发表于 2014-2-4 13:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位匿在坛子里的程序猿GG/MM,请赐予于我力量吧!!!!!!

小弟对编程不是很懂,有一点点的编程经验,全是来自于商业化的金融交易软件平台,
因此平时主要关注于算法(偏数学建模),很少关注API。

目前对API的理解几乎等于没有,因此求教各位:
能否用大白话给小弟讲解一下
1、什么是API?
2、它能够干些什么?
3、有哪些入门的资料可以上手?

打个比方,现在很火的比特币在线交易没有专门的客户端,主要是在网站的网页上操作。。。
那么,我们是否有可能编写出软件,接受网站上的实时价格数据,到我们自己的分析软件中,
并根据分析的结果来自动在网页上发出买入和卖出的指令?这个是属于API的范畴吗?

谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
2#
 楼主| 发表于 2014-2-4 13:46 | 只看该作者
另,之前用到过一款名叫“AutoIt”的软件。。。
他可以让用户自定义一些在windows内的操作,编译成脚本后,自动执行。。。

我用它来每天自动登录一款软件,不知道这又算是哪一类的应用
回复 支持 反对

使用道具 举报

3#
发表于 2014-2-4 15:12 | 只看该作者
问题过于宽泛,还是先明确你到底需要做到什么,再来考虑需要用到什么。很多基本的知识看看度娘即可。
回复 支持 反对

使用道具 举报

4#
 楼主| 发表于 2014-2-4 17:21 | 只看该作者
我问题的后半部分不是已经非常具体了吗?
那么,我们是否有可能编写出软件,接受网站上的实时价格数据,到我们自己的分析软件中,
并根据分析的结果来自动在网页上发出买入和卖出的指令?这个是属于API的范畴吗?
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2014-2-4 17:22 | 只看该作者
本帖最后由 saji 于 2014-2-4 17:23 编辑
小手冰凉 发表于 2014-2-4 15:12
问题过于宽泛,还是先明确你到底需要做到什么,再来考虑需要用到什么。很多基本的知识看看度娘即可。

请看楼上,这就是我想要做到的。。。
请指出哪里有不明确“我需要做到什么”
盼回复
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2014-2-4 17:25 | 只看该作者
另,基本的API已经查过wiki和gg
觉得都是从技术上来解释的,我希望能够听到比较白话一点的
或是有具体的例子的,谢谢
回复 支持 反对

使用道具 举报

7#
发表于 2014-2-4 17:39 | 只看该作者
API是预置封装好的提供了一些功能的程序,供你自己写的程序调用,用来完成预置好的那些功能。一般运行在本地模式下。你说的情况估计是WebService方面的问题。只要你能找到能够向提供WebService的比特币平台,你就可以完成相应的买入卖出功能。WebService是对方封装好的接口。对方提供什么功能你才能用什么功能。我觉得你找到对方支持的可能性不大,思路上也是往网页抓取上走。那就没什么好想的了,把自己的程序当成IE,无非就是不停的get post。
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2014-2-4 18:06 | 只看该作者
谢谢小手兄,我的理解大致是这样的,但是仍有几点疑问:

1、我估计网页提供封装好的webservice的可能性也是不大的,因为几乎没有这方面的需求,因此它不会像商业的交易平台那样,提供现成的API。那么,即使我们能通过网页抓取来获得所需要的价格数据,我们有可能向网页输出数据吗(若是要平台执行买卖,一定是我们向平台输送指令吧)

2、我猜测,网络游戏的外挂也是这种性质的吧?难道游戏也是将API封装好,提供给游戏者,然后再有游戏者通过接口制作成外挂,来进入游戏并执行相关的操作?
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2014-2-4 18:06 | 只看该作者
小手冰凉 发表于 2014-2-4 17:39
API是预置封装好的提供了一些功能的程序,供你自己写的程序调用,用来完成预置好的那些功能。一般运行在本 ...

谢小手兄,请看楼上
回复 支持 反对

使用道具 举报

10#
发表于 2014-2-4 18:24 | 只看该作者
这个用Python,Perl之类的脚本语言分析网页就ok了吧。
回复 支持 反对

使用道具 举报

11#
 楼主| 发表于 2014-2-4 19:11 | 只看该作者
wyffrank 发表于 2014-2-4 18:24
这个用Python,Perl之类的脚本语言分析网页就ok了吧。

谢谢,gg了一下,了解的用脚本语言抓取、分析网页的大致意思。。。

那么同样回到前面的问题:
我们通过抓取网页得到了所取的数据,再根据分析的结果,在原来的网页中执行买卖动作,是否可以实现呢?
照小弟的理解,抓取网页,只是一个信息获得的过程,它能实现信息的输出吗?
回复 支持 反对

使用道具 举报

12#
发表于 2014-2-4 20:00 | 只看该作者
无论是抓取网页还是提交信息,都是由客户端向服务端的一个请求过程,处理方式其实是一样的。客户端向服务器请求的过程一般不是GET就是POST,具体用哪种主要看服务端怎么要求的。get和post并不是字面意义上的获取和提交,其实这2个都是用来提交数据的。浏览器的每次请求完成以后,就与服务器断开了。每个请求都是分离的。这就需要服务器和浏览器都维持一个用于识别彼此身份的key。一般是session。你要做的无非就是用个程序模拟你用浏览器去做的步骤去执行就可以了。采用perl,php,java,.Net,甚至自己写shell都能实现。用一个自己最熟悉的工具就可以。
回复 支持 反对

使用道具 举报

13#
发表于 2014-2-4 20:18 | 只看该作者
saji 发表于 2014-2-4 18:06
谢谢小手兄,我的理解大致是这样的,但是仍有几点疑问:

1、我估计网页提供封装好的webservice的可能性 ...

1. b2b b2c c2c这些高大上的名词背后,无非就是一些标准或者非标准的webservice提供支持。你没弄清浏览器工作的原理,最好在这方面看看资料。获取网页其实就是不带数据的请求一个网页。提交表单就是带数据的请求一个网页。其实都是客户端向服务器发起请求
2. 网游外挂要“原始”一点,webservice是HTTP协议,是应用层(Application Layer)的协议,传统的网游外挂是基于socket的,属于TCP/IP协议,传输层(Transport Layer)的。模拟游戏客户端向服务器直接发送封包。让服务器以为客户端在进行这些操作。
回复 支持 反对

使用道具 举报

14#
 楼主| 发表于 2014-2-4 20:20 | 只看该作者
小手冰凉 发表于 2014-2-4 20:00
无论是抓取网页还是提交信息,都是由客户端向服务端的一个请求过程,处理方式其实是一样的。客户端向服务器 ...

非常感谢,说的很清楚,让我这个程序小白也看的明白{:soso_e181:}

另,关于中文的API编程资料有什么可推荐的?
我搜了一下,只有
Windows API编程范例入门与提高适合入门,
有什么好的推荐吗?
回复 支持 反对

使用道具 举报

15#
 楼主| 发表于 2014-2-4 20:24 | 只看该作者
你没弄清浏览器工作的原理,最好在这方面看看资料。


被你发现了。。。小弟不光是不懂浏览器的工作原理,连windows的都不是很清楚
准备花点时间了解一下细节

再次感谢你的帮助{:soso_e181:}
回复 支持 反对

使用道具 举报

16#
发表于 2014-2-4 20:27 | 只看该作者
程序猿是很苦逼的,知识点散乱,好比凡人修仙。。。  我不推荐直接去看什么api方面的东西,还是先选个门派吧。 java .net php python 就算老朽的Perl,修炼好了一样很 牛b。  我去年硬着头皮修改了个十来年前的vb6的程序,一样能支持webservices。
回复 支持 反对

使用道具 举报

17#
 楼主| 发表于 2014-2-4 20:36 | 只看该作者
小手冰凉 发表于 2014-2-4 20:27
程序猿是很苦逼的,知识点散乱,好比凡人修仙。。。  我不推荐直接去看什么api方面的东西,还是先选个门派 ...

我的交易平台语言几乎就是阉割版的C++,因此这个是必须的。。。所谓的有经验,只是语言的表达逻辑稍稍有一点

在看的MIT初级课程都是用python的,但是国内的几本资料都是用vb的。。。{:soso_e127:}

看到哪里算哪里吧,好在只是寻个乐子
回复 支持 反对

使用道具 举报

18#
发表于 2014-2-4 21:51 | 只看该作者
唉,不写程序好多年。
回复 支持 反对

使用道具 举报

19#
发表于 2014-2-4 23:10 | 只看该作者
saji 发表于 2014-2-4 20:20
非常感谢,说的很清楚,让我这个程序小白也看的明白

另,关于中文的API编程资料有什么可 ...

如果不玩windows,没必要跟微软那套吧。你的要求看看脚本语言就够了。python, perl都有很多现成的库。靠网络的东西,除非做客户端,否则都与微软关系不大。
回复 支持 反对

使用道具 举报

20#
发表于 2014-2-4 23:12 | 只看该作者
c++还有阉割版?
回复 支持 反对

使用道具 举报

本版积分规则

PENBBS第27季墨水

小黑屋|手机版|Archiver|钢笔论坛   违规、侵权信息删除请联系 penbbs@hotmail.com    

GMT+8, 2025-9-15 06:57 , Processed in 0.058168 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表