欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

用QueryList采集金山词霸《每日一句》

程序员文章站 2022-03-30 15:53:31
...

采集金山词霸的每日一句,需要说明的是,并不能直接匹配出音频的地址,匹配出来的是类似于这样个字符串: iciba_common_top_onSecondDelay(http://news.iciba.com/admin/tts/2015-02-27.mp3); 所以需要用个回调函数来过滤出音频地址。 phpQuery ?phprequire '

采集金山词霸的每日一句,需要说明的是,并不能直接匹配出音频的地址,匹配出来的是类似于这样个字符串:
iciba_common_top_onSecondDelay('http://news.iciba.com/admin/tts/2015-02-27.mp3');
所以需要用个回调函数来过滤出音频地址。 phpQuery
 array(".en>a","text"),
        //匹配中文
        "cn" => array(".cn>a","text"),
        //匹配音频
        "audio" => array(".sound","onmouseover",'',function($v,$k){
                                //回调函数,用于匹配出音频地址
                                if(preg_match('/http[^\']+/',$v,$arr))
                                {
                                    $v = $arr[0];
                                }
                                return $v;
                         }),
        //匹配图片
        "pic" => array("a:eq(0)>img","src"),
        //匹配页面地址
        "page" => array("a:eq(0)","href")
    );
$data = QueryList::Query($url,$rang,$reg)->jsonArr[0];
print_r($data);
Array
(
[en] => Courage is not the absence of fear, but rather the judgement that something else is more important than fear.
[cn] => 勇者并非无所畏惧,而是判断出还有比恐惧更值得重视的东西。
[audio] => http://news.iciba.com/admin/tts/2015-02-27.mp3
[pic] => http://cdn.iciba.com/news/word/big_2015-02-27b.jpg?rand=8637
[page] => http://news.iciba.com/dailysentence/detail-1212.html
)