Php 股票系统,利用PHP命令行模式采集股票趋势信息

2023-11-04

话不多说,下面直接来看实现代码。

主要函数只有一个类实现(stock.class.php):

class StockClass{

public $stockId;

public function __construct($stockId){

$this -> stockId = $stockId;

}

private function getUrl(){

return "http://stockpage.10jqka.com.cn/" . $this -> stockId . "/";

}

private function getPage(){

return file_get_contents($this -> getUrl());

}

//核心,通过正则匹配出 标签名,并将对应的方法的结果替换掉标签占位符

public function getInfo($template){

$html = $this -> getPage();

if( preg_match_all("/\{([^\}]*)\}/", $template, $result) ){

foreach($result[1] as $index => $fun){

$template = str_replace($result[0][$index], $this -> $fun($html), $template);

}

}

return mb_convert_encoding($template, "GBK", "UTF-8"); //Windows的命令提示符编码是GBK

}

private function match($pattern, $html, $itemIndex = 1){

$pattern = '/' . str_replace('/', '\/', $pattern) . '/';

if( preg_match($pattern, $html, $result) ){

return $result[$itemIndex];

}else{

return "-";

}

}

//趋势的规则都一样,合并

private function qushiPattern($name){

return '

' . $name . ':
\s*
([^';

}

//支持的标签

private function name($html){

return $this -> match("

([^\(

}

private function score($html){

return $this -> match('(\d+(\.\d+)?)', $html);

}

private function tips($html){

return $this -> match('([^', $html);

}

private function qushishort($html){

return $this -> match($this -> qushiPattern("短期趋势"), $html);

}

private function qushimiddle($html){

return $this -> match($this -> qushiPattern("中期趋势"), $html);

}

private function qushilong($html){

return $this -> match($this -> qushiPattern("长期趋势"), $html);

}

}

?>

命令提示符中的调用方法如下(stock.php):

if(count($argv) >= 2){

require("stock.class.php");

$stockId = $argv[1];

$stock = new StockClass($stockId);

$temp = $stockId;

$temp .= " {name}"; //名称

$temp .= " {score}"; //评分

$temp .= " {tips}"; //描述

$temp .= " {qushishort}"; //短期趋势

$temp .= " {qushimiddle}"; //中期趋势

$temp .= " {qushilong}"; //长期趋势

//$temp .= " {zidingyi}"; //自定义,直接在StockClass增加zidingyi方法即可

$temp .= "\n";

echo $stock -> getInfo($temp);

}

?>

直接使用*\php.exe stock.php股票代码即可实现调用,每次输入太长的,可以用批处理简化。

将下面的代码保存为 stock.cmd。

@XXX\php.exe stock.php %1

运行结果:

d6061bdeb82188b0c274598d1d82bc52.png

这样就完成了单个股票趋势的采集,如果要采集所有的股票信息,可以保存为批处理文件(batch.cmd)

@echo off

call stock 000001

call stock 000002

call stock 000003

call stock 000004

call stock 000005

call stock 000006

call stock 000007

call stock 股票代码n...

双击打开即可显示,如果想保存到文件,可以执行 batch.cmd > log.txt,然后将结果复制到 Execl(或ET)即可进行更负责的分析。

8c5957828e1b8a2337bf3da15b130a3a.png

以上就是利用PHP命令行模式采集股票趋势信息的全部内容,这个功能很方便实用,感兴趣的朋友们快快实践起来吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Php 股票系统,利用PHP命令行模式采集股票趋势信息 的相关文章

  • 【自然语言处理】关系抽取 —— SimpleRE 讲解

    SimpleRE 论文信息 标题 An Embarrassingly Simple Model for Dialogue Relation Extraction 作者 Fuzhao Xue 期刊 ICASSP 2022 发布时间与更新时间
  • 【Ubuntu】安装免费版Typora

    下载deb包 wget https file babudiu com f yXCL Typora Linux 0 11 18 amd64 deb 安装 sudo dpkg i Typora Linux 0 11 18 amd64 deb 参
  • 【蓝桥杯题解】特殊日期(判断合法日期模板)

    对于一个日期 我们可以计算出年份的各个数位上的数字之和 也可以分别计算月和日的各位数字之和 请问从 19001900 年 11 月 11 日至 99999999 年 1212 月 3131 日 总共有多少天 年份的数位数字之和等于月的数位数
  • centos 卸载程序

    1 查询软件列表 rpm qa grep 软件名 2 卸载软件 sudo yum remove 软件名
  • SQLite安装配置详细教程2023版

    前言 SQLite 是一款轻型的数据库 是遵守ACID的关系型数据库管理系统 它的设计目标是嵌入式的 而且已经在很多嵌入式产品中使用了它 它占用资源非常的低 它能够支持Windows Linux Unix等等主流的操作系统 同时能够跟很多程
  • 利用强化学习进行股票操作实战(三)

    与上一篇文章相同之处 对于交易策略 与上一篇文章相同 当发出买入指令时 一次性全部买入 当发出卖出指令时 一次性全部卖出 还没有添加加减仓操作 模型仍然用的是DQN模型 新增内容 在之前的基础上加入了交易手续费 印花税等 在强化学习这个领域
  • 基于FPGA驱动VGA显示图片的小问题

    学习VGA显示图片的过程中 遇到了一个小问题 我在显示屏上开了一个60x60的框 放了一张图片进去显示 但是最终的结果如下图所示 出现了一个竖黑边 看了看代码 分析了一下逻辑没问题 然而看这个显示那肯定是有问题的 然后仿真了一下看看 时序图
  • 在Vue2和Vue3中事件总线的使用与区别

    前提 在Vue升级到3 0版本后 事件总线使用的方式有些许改变 Vue2可以直接使用new Vue 在Vue3中 推荐使用mitt来帮助我们实现全局事件总线和局部事件总线 接下来让我们来对比2和3版本的使用和区别 Mitt是一个微型的 Ev
  • 可靠传输的运输层协议及编程实现

    在计算机网络中 运输层协议负责在通信实体之间提供可靠的数据传输 可靠传输意味着数据的发送方可以确保数据在传输过程中不会丢失 损坏 重复或无序到达接收方 本文将介绍一种常用的可靠传输协议 停等协议 并提供其简单的编程实现 停等协议 Stop
  • STM32 F103C8T6学习笔记4:时钟树、滴答计时器、定时器定时中断

    今日理解一下STM32F103 C8T6的时钟与时钟系统 滴答计时器 定时器计时中断的配置 文章提供原理 代码 测试工程下载 目录 时钟树与时钟系统 滴答计时器 定时器计时中断 测试结果 测试工程下载 时钟树与时钟系统 该系统介绍在 STM
  • “思维导图”常用的快捷键总结

    还记得老师上课说过 你们把那些贴来的东西放在自己的博客上就以为是自己的了吗 其实不然 我们有些时候过于追求是否做了 而没有考虑到做这个的意义何在 正如贾琳同学所说 不要为了做去做 而要将自己做过的东西变成自己所能够吸收的 变成自己前进的 汽
  • 面向组件编程之Unity 5.normalized不改变原向量,Normalize改变原向量

    using System Collections using System Collections Generic using UnityEngine public class TransformFeng2 MonoBehaviour Us
  • Android AlarmManager实现定时任务(也就是闹钟) 附Demo源码

    原文链接https www shanya world archives a7b639d4 html 创建定时任务 Android中的定时任务一般有两种实现方式 一种是使用 Java API 里提供的 Timer 类 一种是使用 Androi
  • 防恶意解析,禁止用IP访问网站的Apache设置+如何阻止网站被恶意反向代理访问

    一般来说 网站可以用域名和IP来访问 你的网站可以通过IP直接访问 本来这没什么问题 但是会有些隐患 由于搜索引擎也会收录你的IP地址的页面 所以同一个页面搜索引擎会重复收录 造成页面的权重不如单个收录高 域名恶意指向的可能 还记得去年还是
  • keepalived + mysql 双主

    在node2 node3上安装mysql并配置主主复制 初始化mysql root node2 mysqlkeepalived mysqld defaults file home mysqlkeepalived my cnf basedir
  • 使用python,dlib,OpenCV提取眼睛,鼻子,嘴唇及下颌

    使用python dlib OpenCV提取眼睛 鼻子 嘴唇及下颌 1 效果图 2 原理 3 源码 参考 上一篇博客中 我们了解了什么是面部标志 以及如何使用dlib OpenCV和Python检测它们 利用dlib的HOG SVM的形状预
  • vuecli启动的服务器位置,VUE启动流程vue-cli

    先后顺序 package json gt webpack dev conf js gt config js gt config index js gt index html gt App vue的export外的js代码 gt main j
  • C和C++安全编码笔记:文件I/O

    C和C 程序通常会对文件进行读写 并将此作为它们正常操作的一部分 不计其数的漏洞正是由这些程序与文件系统 其操作由底层操作系统定义 交互方式的不规则性而产生的 这些漏洞最常由文件的识别问题 特权管理不善 以及竞争条件导致 8 1 文件I O
  • 60行代码就能构建GPT!网友:比之前的教程都要清晰|附代码

    Pine 发自 凹非寺量子位 公众号 QbitAI 现在只用60行代码 就能从0构建GPT了 想当初 前特斯拉前AI总监的minGPT和nanoGPT也都还要300行代码 这个60行代码的GPT也有名字 博主将它命名为PicoGPT 不过和

随机推荐

  • Linux网络编程:Socket套接字编程(Server服务器 Client客户端)

    文章目录 一 定义和流程分析 1 定义 2 流程分析 3 网络字节序 二 相关函数 IP地址转换函数inet pton inet ntop 本地字节序 网络字节序 socket函数 创建一个套接字 bind函数 给socket绑定一个服务器
  • 【原创】Java+solrJ实现对solr索引的增删改查

    1 项目准备 jdk1 8 eclipse solr solrJ 6 6 0 jar 2 项目具体内容 solrJ操作步骤 建立solrserver连接 创建Document文档列表docs 创建document文档对象doc 获取需要建立
  • 809协议解读遇到的一些小问题

    1 标识头 尾和转义方式 它和808不同 它的头和尾标识不一样 头是5b 尾是5d 转义方式 5b gt 5a 01 5a gt 5a 02 5d gt 5e 01 5e gt 5e 02 2 校验码 CRC16 CCITT 协议上面写校验
  • JAVA-Word转PDF各种版本实现方式--亲测有效。。。持续更新中

    JAVA Word转PDF各种版本实现方式 当下做一个项目 就是各种操作office 客户的需求总是各种不按常理 来需求就得搞啊 对JAVA操作office这方面真是头大 弟弟是真滴不懂不会啊 无奈只好试啊试的 网上一大堆好使的 一大堆不好
  • Animator 状态机切换打断机制

    State Machine Transition interruptions 查看原文 状态机切换打断机制 在默认的动画系统中 切换不能被打断 一旦开始从一个状态切换到另一个状态 就不能中途退出 就像飞越大西洋的航班 一旦开始 只能到目的地
  • DDL和DML

    DML语言 修改表中数据 insert update delete DDL语言 改变表结构 create table create index alter table alter index drop index 对于oracle来说 DD
  • 基于nodejs面向图书共享系统

    末尾获取源码 开发语言 nodejs 框架 Express 数据库 MySQL5 7 数据库工具 Navicat 11 开发软件 Hbuilder VS code 浏览器 edge 谷歌 目录 一 项目简介 二 系统功能 三 系统项目截图
  • 对象比较工具

    RSSYSCOMP程序可以比较两个系统之间的对象差异 在项目进行系统切换后 可以使用该工具 检查开发对象是否都已传输到生产系统
  • 详解Linux命令行下常用svn命令

    1 Linux命令行下将文件checkout到本地目录 svn checkout path path是服务器上的目录 例如 svn checkout svn 192 168 1 1 pro domain 简写 svn co 2 Linux命
  • 使用jupyter快速下载kaggle中的数据集

    问题介绍 我们在kaggle中下载数据集非常慢 响应都要响应半天 笔者也是深受其扰 通过查阅外网大佬的方法 成功解决了这一问题 现在将解决方法详细说明如下 分享给遇到同样困扰的小伙伴 这个方法主要是通过jupyter来快速将kaggle的数
  • 微信小程序期末作业-商城小程序(可以登录)

    微信小程序期末作业 商城小程序 可以登录 登录账号和密码为abc和123 作品链接 https download csdn net download weixin 43474701 13986267
  • 在德国观看中文视频的免费网站总结--涵盖几乎中文各类所有视频

    1 独播库 https www duboku tv 2 欧乐影院 https www olevod com 3 一帆视频 https www ifsp tv tv series
  • Java压缩文件

    1 Zip压缩I O实现 主要是使用java util zip包中的ZipOutputStream和ZipInputStream类来实现文件的压缩和解压缩 不管是解压缩还是压缩都需要先找到文件的 目录进入点 2 ZipOutputStrea
  • 利用Matlab的Simulink原理框图来画bode图的方法

    由于matlab的版本升级 有些应用于旧版本的方法应用于新版本比较困难 首先 先贡献一链接 这是在matlab旧版本 大概是2010b以前的版本吧 中 如何在simulink原理框图画出bode图和其他各种图的方法 http blog si
  • 没写博客的一年,我在干嘛

    机缘 最初成为创作者的初心 还记得独自一人学习Java的那个时候 从早学到晚 不知疲倦 有了一定的基础以后 就写上了博客 边学边写 收获 丝慢慢增长 不知不觉已经快三千人了 浏览量也还不错 憧憬 已经很久没有写博客了 2021备考考研 功夫
  • WSL2突然无法连接网络

    管理员模式下在powershell中运行以下命令然后重启电脑 wsl shutdown netsh winsock reset netsh int ip reset all netsh winhttp reset proxy ipconfi
  • k8s删除 Terminating 状态的namespace

    处于 Terminating 状态的 ns 经常无法正常删除 可尝试以下两种方法解决 方法1 使用 force 参数 delnsname 为要删除的命名空间 kubectl delete ns delnsname force grace p
  • 完美:定制Linux 超级漂亮的Shell-zsh(on-my-zsh)-2022.4.4

    完美 定制Linux 超级漂亮的Shell zsh on my zsh 2022 4 5 先来一张美图 1 zsh 介绍 1 Linux shell Linux Unix 提供了很多种 Shell 为毛要这么多 Shell 难道用来炒着吃么
  • 在线会议的线下战场:补齐产业故事里的第一个短板

    过去几年时间里 在线会议产品以其互联网的强产品体验和线上办公的必选项属性站在了TO B风口上 但在水温变化的如今 这个冷却的赛道在增长之外 更迎来了新的审视 即用类互联网的打法 能否彻底渗透TO B市场 中间设计到的公有云交付 服务以及产品
  • Php 股票系统,利用PHP命令行模式采集股票趋势信息

    话不多说 下面直接来看实现代码 主要函数只有一个类实现 stock class php class StockClass public stockId public function construct stockId this gt st