首頁 > php教程 > php手册 > 用QueryList采集金山词霸《每日一句》

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-06 19:37:38
原創
1437 人瀏覽過

采集金山词霸的每日一句,需要说明的是,并不能直接匹配出音频的地址,匹配出来的是类似于这样个字符串: 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
<?php
require '../QueryList/QueryList.class.php';

$url = 'http://news.iciba.com/dailysentence';
$reg = ".pic";
$rang = array(
        //匹配英文
        "en" => 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
)
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
queryList可以下載圖嗎?
來自於 1970-01-01 08:00:00
0
0
0
querylist採集不了帶小數點的字串
來自於 1970-01-01 08:00:00
0
0
0
php抓取網頁數據
來自於 1970-01-01 08:00:00
0
0
0
java - springboot新手學習
來自於 1970-01-01 08:00:00
0
0
0
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板