怎么在PHP命令行模式中采集股票趋势信息

  介绍

怎么在PHP命令行模式中采集股票趋势信息?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

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

& lt; PHP ?   ,class  StockClass {   ,public  stockId美元;   ,   ,public  function  __construct (stockId美元){   美元才能却;能够→,stockId =, stockId美元;   ,}   ,   ,private  function  getUrl () {   return 才能“http://stockpage.10jqka.com.cn/",只美元却;能够→,stockId 只“/?   ,}   ,   ,private  function  getPage () {   return 才能file_get_contents()美元却;能够→,getUrl ());   ,}   ,   ,//核心,通过正则匹配出,标签名,并将对应的方法的结果替换掉标签占位符   ,public  function  getInfo(模板){   美元才能html =,美元却;能够→,getPage ();   如果才能(,preg_match_all(“/\{((^ \}) *) \}/,,,模板,美元,导致美元),){   foreach才能($结果[1],as  index 美元;=祝辞,有趣的美元){   ,,template 美元;=,str_replace(结果[0]美元(美元指数),美元却;能够→,有趣的(html)美元,美元,美元模板);   ,,}   ,,}   return 才能;mb_convert_encoding(模板,美元,“GBK",,“UTF-8");,//Windows的命令提示符编码是GBK   ,}   ,   ,private  function 匹配($模式,,html,美元,美元itemIndex =, 1) {   时间=美元才能pattern  & # 39;/& # 39;,只str_replace(& # 39;/& # 39;,, & # 39; \/& # 39;,,美元模式),只& # 39;/& # 39;;   如果才能(,preg_match(模式,美元,html,美元,导致美元),){   return 才能;结果美元[$ itemIndex];   }{其他才能   return “才能产生绯闻;;   ,,}   ,}   ,   ,//趋势的规则都一样,合并   ,private  function  qushiPattern(美元名称){   return 才能;& # 39;& lt; div 类=皌xt-aside"祝辞& # 39;,只name 美元;只& # 39;:& lt;/div> \ s * & lt; div 类=皌xt-main"祝辞([^ & lt;] *) & lt;/div> & # 39;;   ,}   ,   ,//支持的标签   ,private  function 名称(html) {   return 才能;$却;能够→,匹配(“& lt; title> ([^ \ (& lt;] *) \ (“,, html,美元,1);   ,}   ,private  function 分数(html) {   return 才能;$却;能够→,匹配(& # 39;& lt; span 类=癮nalyze-num"祝辞(\ d + (\ \ d +) ?) & lt;/span> & # 39;,,美元html);   ,}   ,private  function 技巧(html) {   return 才能;$却;能够→,匹配(& # 39;& lt; span 类=癮nalyze-tips"祝辞([^ & lt;] *) & lt;/span> & # 39;,,美元html);   ,}   ,private  function  qushishort (html) {   return 才能;$却;能够→,匹配(美元却;能够→,qushiPattern(“短期趋势,),,美元html);   ,}   ,private  function  qushimiddle (html) {   return 才能;$却;能够→,匹配(美元却;能够→,qushiPattern(“中期趋势,),,美元html);   ,}   ,private  function  qushilong (html) {   return 才能;$却;能够→,匹配(美元却;能够→,qushiPattern(“长期趋势,),,美元html);   ,}   ,}   ?在

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

& lt; php ?   ,   ,如果(count ($ argv),祝辞=,2){   ,要求(“stock.class.php");   ,stockId 美元;=,$ argv [1];   ,stock 美元;=,new  StockClass ($ stockId);   美元,美元temp =, stockId;   temp 美元。=,,,{名称},,,//名称   temp 美元。=,,,{得分},,,//评分   temp 美元。=,,,{提示},,,//描述   temp 美元。=,,,{qushishort},,,//短期趋势   temp 美元。=,,,{qushimiddle},,,//中期趋势   temp 美元。=,,,{qushilong},,,//长期趋势//temp 美元。=,,,{zidingyi},,,//自定义,直接在StockClass增加zidingyi方法即可   temp 美元。=,“\ n";   ,echo  stock 美元;→,getInfo(临时);   ,}   祝辞;

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

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

@XXX \ php.exe  stock.php  % 1

<强>运行结果:

<强> 怎么在PHP命令行模式中采集股票趋势信息

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

怎么在PHP命令行模式中采集股票趋势信息