• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

利用PHP命令行模式采集股票趋势信息_php实例

php 搞代码 3年前 (2022-01-23) 16次浏览 已收录 0个评论

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

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

 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('/', '\<p style="color:transparent">本文来源gao!%daima.com搞$代*!码$网3</p><strong>搞代gaodaima码</strong>/', $pattern) . '/';  if( preg_match($pattern, $html, $result) ){  return $result[$itemIndex];  }else{  return "-";  } }  //趋势的规则都一样,合并 private function qushiPattern($name){  return '<div class="txt-aside">' . $name . ':</div>\s*<div class="txt-main">([^<]*)</div>'; }  //支持的标签 private function name($html){  return $this -> match("<title>([^\( match('<span class="analyze-num">(\d+(\.\d+)?)</span>', $html); } private function tips($html){  return $this -> match('<span class="analyze-tips">([^<]*)</span>', $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):

= 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

运行结果:

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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:利用PHP命令行模式采集股票趋势信息_php实例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址