365体育备用网址报道24.8.1_365体育备用网址官网资讯

8.4姓名算命
算命是一种使用个人切身资讯,例如脸与手的纹路,诞生八字、姓名笔划等配合五行和八卦来预测或推断命运吉凶福祸的行为。姓名算命依据姓名的笔画数以及肯定规则数理联系,运用阴阳五行相生相克的道理,来观察预测姓名的吉凶好坏。本节介绍如何在微信中实现姓名算命。
8.4.1数据猎取
姓名测验打分蓝宝石国际娱乐版网站提供姓名测验服务,地址为
http://m.1518.com/
通过实验与分析,其实际查询接口地址如下:
> hhttp://m.1518.com/xingming_view.PHP?word=%D5%C5%C8%FD&submit1=%C8%B7%B6%A8&FrontType=1

该接口各参数意义如表8-2所示:

表8-2 姓名测验接口参数
上述接口在扫瞄器中打开如图8-4所示:

图8-4 姓名测验
察看该网页源代码,内容部分代码显示如下:

张三

得分: 51分
(评分由数理文化得出,仅供娱乐参考)
天格: 人格: 地格:
外格: 大凶 总格:
概述:
张三的姓名三才配置为:木火火(平)
它具有如下数理诱导力,据此会对人生发生肯定的影响。
得顺调胜利开展,但有缺乏耐久力的缺点,或依靠性太强,招失败,有陷入失意之兆。  
总论:
虽有胜利运, 但不甘寂寞,忍受力不够,容易一意孤行,陷入孤军奋斗,如能修身养性,定能胜利顺调。名利双利,若天运五行属水,青年时代事业难成又逢灾,老运亦欠佳。
性格:
外表乐观而豪爽,交际应酬有一套,人缘又好,但个性喜怒无常,感情易热易冷,个性急燥,容易意气用事。
能够看到,事情内容都放置在div区块下的dl标签中。我们能够通过循环遍历的方式将相应数据取出来。 8.4.2代码实现 我们使用simple_HTML_dom来抓取所需要的页面,相应代码如下:
1 function getFortuneInfo($keyword)
 2 {
 3     if ($keyword == ""){
 4         return "请发送算命+人名,例如“算命张三”";
 5     }
 6     if ((strlen($keyword) < 6) || (strlen($keyword) > 12)){
 7         return "人名长度为2到4个汉字";
 8     }
 9     try {
10         include('simple_html_dom.php');
11         $url = "http://m.1518.com/xingming_view.php?word=".urlencode(mb_convert_encoding($keyword, 'gb2312', 'utf-8'))."&submit1=%C8%B7%B6%A8&FrontType=1";
12         $html_fotune = file_get_html($url);
13         if (!isset($html_fotune)){
14             $html_fotune->clear();
15             return "程序检索出错!\n如果经常这样,请联系方倍工作室。";
16         }
17         $infomation = "";
18         foreach($html_fotune->find('div[id="detail"] dl') as $item) {
19             $curText = $item->plaintext;
20             $curText = preg_replace('/\s{2,}/i', ' ', $curText);
21             $curText = preg_replace('/\t{2,}/i', ' ', $curText);
22             $curText = preg_replace('/:\s/i', ':', $curText);
23             $infomation .= trim($curText)."\n";
24             if (strlen($infomation) > 2000){break;}
25         }
26         $html_fotune->clear();
27         $infomation = str_replace("\r\n", "\n", $infomation);
28         $infomation = str_replace("天格", "\n天格", $infomation);
29         $infomation = str_replace(" ", "", $infomation);
30         return trim($infomation);
31     }catch (Exception $e){
32 
33     }
34 }

上述代码解读如下:
第3行~第8行:推断姓名是否为空以及长度值。
第10行:引用HTML解析器库文件。
第11行:定义要访问的网址URL。使用函数mb_convert_encoding()将“张三”从UTF-8编码转换为GB2312编码,再将字符串以URL编码。
第12行:从页面地址中创建文档对象模型。
第13行~第16行:推断模型是否创建胜利。
第17行:定义变量,用于保留最终返回内容。
第18行~第25行:查找id为"detail"的div元素,并在该元素下找dl元素,符合这样条件的均为解析内容,通过循环遍历的方式来猎取,取其纯文本内容。并且使用正则表示式替换掉空格等内容。最后,推断长度是否超越2000,超越以后就不再继续猎取而退出了。
第26行:清理文档对象,释放资源。
第27行~第29行:使用字符串替换等方式,继续删除空格等内容。
第30行:返回文本消息。
姓名算命的实现效果如图8-5所示:

图8-5 姓名算命

------分隔线----------------------------

公布评论 (173人察看0条评论)
请自觉遵守互联网相关的政策法规,严禁公布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换拉斯维加斯场国际娱乐
最新评论