久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线
Discuz! 官方交流社區(qū)
標(biāo)題:
【免費(fèi)開源】利用云數(shù)據(jù)API接口,開發(fā)屬于自己的采集器
[打印本頁]
作者:
智伍應(yīng)用
時(shí)間:
2022-8-23 12:29
標(biāo)題:
【免費(fèi)開源】利用云數(shù)據(jù)API接口,開發(fā)屬于自己的采集器
復(fù)制下面的代碼,保存為一個(gè)php文件即可,可以把代碼封裝一下,變成自己的東西!
<?php
header("Content-type: text/html; charset=utf-8");
function get_sign($dataArr) //計(jì)算簽名驗(yàn)證的函數(shù)
{
if(!is_array($dataArr))
{
return 'no';
} else {
ksort($dataArr, SORT_STRING);
$string1 = '';
foreach ($dataArr as $k => $v) {
$v=urlencode($v);
$string1 .= "{$k}={$v}&";
}
return strtoupper(md5($string1));
}
}
function get_json_data($dataUrl) // 根據(jù)接口地址,轉(zhuǎn)換成具體列表內(nèi)容,展示結(jié)果
{
$nowTime=time();
$tokenStr=file_get_contents('./appid.txt'); // 讀取保存的appid和對應(yīng)的密鑰
$tokenArr=explode('_ZW_',$tokenStr);
$appid=$tokenArr[0];
$appid_key=$tokenArr[1];
$dataJson=file_get_contents($dataUrl);
$dataJson=trim($dataJson);
$dataNewsArr=json_decode($dataJson,true);
$result='<hr><h2>下面是結(jié)果內(nèi)容</h2><hr><p><br></p>';
$result=$result.'<table border=1 cellpadding=12 style="width:100%;">';
$result=$result.'<tr><th>一鍵采集</th><th>標(biāo)題</th><th>鏈接地址</th><th>發(fā)布時(shí)間</th></tr>';
foreach($dataNewsArr as $item)
{
$signArr=array();
$signArr['url']=urldecode($item['fromurl']);
$signArr['appid']=$appid;
$signArr['t']=$nowTime;
$signArr['appsecret']=$appid_key; // 密鑰僅用于計(jì)算簽名,不要公開,私密
$sign=get_sign($signArr);
$result=$result.'<tr style="text-align:center">';
$result=$result.'<td nowrap><a href="./sdk_demo.php?ac=content&url='.urlencode($item['fromurl']).'&appid='.$appid.'&t='.$nowTime.'&sign='.$sign.'"> 點(diǎn)擊采集 </a></td>';
$result=$result.'<td>'.$item['title'].'</td>';
$result=$result.'<td><a href="'.$item['fromurl'].'" target="_blank">'.$item['fromurl'].'</a></td>';
$result=$result.'<td nowrap>'.date('Y-m-d H:i:s',$item['sendtime']).'</td>';
$result=$result.'</tr>';
}
$result=$result.'</table>';
return $result;
}
if(!empty($_GET['ac']) && $_GET['ac']=='register')
{
if(!file_exists('./appid.txt'))
{
$appid=php_uname('s').php_uname('n').php_uname('m'); // 根據(jù)服務(wù)器的特征,生成唯一appid,請求獲得密鑰之后,保存到本地
$appid=$appid.__DIR__;
$appid=md5($appid);
$appid_key=file_get_contents("http://api.zhiwu55.net/v1/catch_data/register/?appid=".$appid);
$dataStr=$appid.'_ZW_'.$appid_key;
file_put_contents('./appid.txt',$dataStr); //生產(chǎn)環(huán)境中,上線了,千萬不要這樣保存appid和密鑰,相當(dāng)于公開暴露出去了
}
$result='<hr><h2>下面是結(jié)果內(nèi)容</h2><hr><p><br></p>注冊appid成功!已經(jīng)保存到appid.txt文件中';
}
if(!empty($_GET['ac']) && $_GET['ac']=='content')
{
$fromurl=urlencode($_GET['url']);
$dataUrl="http://api.zhiwu55.net/v1/catch_data/content/?url={$fromurl}&appid={$_GET['appid']}&t={$_GET['t']}&sign={$_GET['sign']}";
$content=file_get_contents($dataUrl);
if($content=='Requests are too frequent')
{
$result='<h1>采集過于頻繁!</h1>';
} elseif(strlen($content)<50) {
$result='<h1>'.$content.'</h1>';
} elseif(stripos($content,'__zhiwu55.com__')!==false) {
$firstPost=substr($content,0,strpos($content,'__zhiwu55.com__'));
$comment=substr($content,strpos($content,'__zhiwu55.com__')+15);
$comment=str_replace('__zhiwu55.cn__','</li><li>',$comment);
$result='<hr><h2>下面是結(jié)果內(nèi)容</h2><hr><p><br></p>'.$firstPost.'<br><br><strong>評論如下:</strong><br><br><li>'.$comment.'</li>';
} else {
$result='<hr><h2>下面是結(jié)果內(nèi)容</h2><hr><p><br></p>'.$content;
}
}
if(!empty($_GET['ac']) && $_GET['ac']=='search_keyword' && !empty($_GET['keyword']))
{
$tokenStr=file_get_contents('./appid.txt'); // 讀取保存的appid和對應(yīng)的密鑰
$tokenArr=explode('_ZW_',$tokenStr);
$appid=$tokenArr[0];
$dataUrl="http://api.zhiwu55.net/v1/catch_data/search/?appid={$appid}&keyword=".urlencode($_GET['keyword']);
$result=get_json_data($dataUrl);
}
if(!empty($_GET['ac']) && $_GET['ac']=='hotnews')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/hotnews_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='top_news')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/updatenews_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='toutiao')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/toutiao.com_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='thepaper')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/thepaper.cn_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='sohu')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/sohu.com_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='sina')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/sina.com.cn_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='qq')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/qq.com_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='myzaker')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/myzaker.com_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='guokr')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/guokr.com_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='163')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/163.com_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='keyword01')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/E4BD93E882B2_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='keyword02')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/E8B4A2E7BB8F_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='keyword03')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/E6989FE5BAA7_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='keyword04')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/E59BBDE99985_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='keyword05')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/E5869BE4BA8B_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='keyword06')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/E5BDA9E7A5A8_json.html');
}
if(!empty($_GET['ac']) && $_GET['ac']=='keyword07')
{
$result=get_json_data('http://api.zhiwu55.net/v1/catch_data/batch_run/E7949FE6B4BB_json.html');
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover">
</head>
<body style="padding:16px;">
<div style="margin-bottom:64px;line-height:32px;">
<a href="./sdk_demo.php?ac=register">【必須】注冊appid</a>
<a href="./sdk_demo.php?ac=hotnews">獲取熱搜榜單的內(nèi)容</a>
<a href="./sdk_demo.php?ac=top_news">獲取最新內(nèi)容</a>
<a href="./sdk_demo.php?ac=toutiao">今日頭條</a>
<a href="./sdk_demo.php?ac=thepaper">澎拜新聞</a>
<a href="./sdk_demo.php?ac=sohu">搜狐</a>
<a href="./sdk_demo.php?ac=sina">新浪</a>
<a href="./sdk_demo.php?ac=qq">騰訊網(wǎng)</a>
<a href="./sdk_demo.php?ac=myzaker">ZAKER扎克</a>
<a href="./sdk_demo.php?ac=guokr">果殼</a>
<a href="./sdk_demo.php?ac=163">網(wǎng)易</a><br><br>
<a href="./sdk_demo.php?ac=keyword01">體育</a>
<a href="./sdk_demo.php?ac=keyword02">財(cái)經(jīng)</a>
<a href="./sdk_demo.php?ac=keyword03">星座</a>
<a href="./sdk_demo.php?ac=keyword04">國際</a>
<a href="./sdk_demo.php?ac=keyword05">軍事</a>
<a href="./sdk_demo.php?ac=keyword06">彩票</a>
<a href="./sdk_demo.php?ac=keyword07">生活</a><br><br>
<form action="./sdk_demo.php" method="GET">
<input type="hidden" name="ac" value="search_keyword">
請輸入簡短精準(zhǔn)關(guān)鍵詞:
<input type="text" name="keyword" value="房地產(chǎn)" style="padding:4px;height:30px;line-height:30px;width:300px;">
<input type="submit" value="確定采集" style="height:38px;">
</form>
</div>
<?php
echo $result;
/*********
接口所有的請求方式都是GET請求,即直接訪問接口地址即可,簡單、方便、快捷使用智伍云數(shù)據(jù)的API接口
注意事項(xiàng):
1、請自行用接口,注冊一個(gè)自己的appid和密鑰,不要用公開泄露出去,因?yàn)橥粋€(gè)appid請求過于頻繁,會禁止訪問一段時(shí)間
2、所有的數(shù)據(jù)都有過期時(shí)間,獲取到數(shù)據(jù)之后,請保存到自己的服務(wù)器,圖片做好本地化存儲
3、如果appid對應(yīng)的密鑰忘記了,或者密鑰泄露出去,需要重置密鑰,暫時(shí)只能聯(lián)系智伍應(yīng)用在線客服處理
-----------------------------------------------------------------------------
接口地址:http://api.zhiwu55.net/v1/catch_data/register/
接口說明:注冊一個(gè)訪問智伍云數(shù)據(jù)的appid和密鑰,獲得拉取數(shù)據(jù)的權(quán)限,僅一個(gè)appid請求參數(shù),其中appid為自定義32位的數(shù)字和字母的組合,注冊成功之后,會返回32位的密鑰,請把這個(gè)返回的密鑰保存起來,為了安全10分鐘過后,此接口不再顯示注冊appid的密鑰
調(diào)用示例:http://api.zhiwu55.net/v1/catch_data/register/?appid=ZW3456789812X45678901234567890a1 返回密鑰:OuHZ552V20hi5ie3HCKTtyez3HR5ukhc 再次提醒,請把返回的密鑰保存起來,以備需要的時(shí)候使用。
-----------------------------------------------------------------------------
接口地址:http://api.zhiwu55.net/v1/catch_data/search/
接口說明:根據(jù)特定的關(guān)鍵語,返回指定的內(nèi)容,有二個(gè)參數(shù),分別是appid和keyword,返回json數(shù)據(jù)格式,如果看上了近期的某一篇文章內(nèi)容,可以直接把標(biāo)題當(dāng)作關(guān)鍵詞來訪問該接口
調(diào)用示例:http://api.zhiwu55.net/v1/catch_data/search/?appid=ZW3456789812X45678901234567890a1&keyword=%E6%90%9E%E7%AC%91
-----------------------------------------------------------------------------
接口地址:http://api.zhiwu55.net/v1/catch_data/content/
接口說明:這里一個(gè)最重要的接口,調(diào)用稍微麻煩一點(diǎn),根據(jù)鏈接地址,拉取對應(yīng)的數(shù)據(jù)和圖片,需要用注冊appid的32位密鑰簽名驗(yàn)證,一共有4個(gè)參數(shù),分別如下
第1個(gè)參數(shù):url,鏈接地址,請用接口返回的fromurl數(shù)值
第2個(gè)參數(shù):appid,即自己注冊的appid
第3個(gè)參數(shù):t,當(dāng)前的時(shí)間戳,請確保自己服務(wù)器的時(shí)間是中國的標(biāo)準(zhǔn)時(shí)間
第4個(gè)參數(shù):sign,根據(jù)參數(shù)計(jì)算出來的簽名
下面是調(diào)用示例代碼:
function get_sign($dataArr) //計(jì)算簽名驗(yàn)證的函數(shù)
{
if(!is_array($dataArr))
{
return 'no';
} else {
ksort($dataArr, SORT_STRING);
$string1 = '';
foreach ($dataArr as $k => $v) {
$v=urlencode($v);
$string1 .= "{$k}={$v}&";
}
return strtoupper(md5($string1));
}
}
$mySignArr=array();
$mySignArr['url']=urldecode($fromurl); //通過接口返回的fromurl鏈接地址
$mySignArr['appid']='ZW3456789812X45678901234567890a1'; // 注冊的appid
$mySignArr['t']=time(); //當(dāng)前時(shí)間戳
$mySignArr['appsecret']='OuHZ552V20hi5ie3HCKTtyez3HR5ukhc'; // 密鑰
$mySignStr=get_sign($signArr); // 根據(jù)參數(shù)計(jì)算出來的簽名
$dataUrl="http://api.zhiwu55.net/v1/catch_data/content/?url={$fromurl}&appid=ZW3456789812X45678901234567890a1&t={$mySignArr['t']}&sign={$mySignStr}";
echo file_get_contents($dataUrl);
-----------------------------------------------------------------------------
接口地址:http://api.zhiwu55.net/v1/catch_data/batch_run/updatenews_json.html
接口說明:獲取全網(wǎng)最新的內(nèi)容,直接訪問即可,返回json數(shù)據(jù)格式,隔一段時(shí)間自動更新內(nèi)容
-----------------------------------------------------------------------------
接口地址:http://api.zhiwu55.net/v1/catch_data/batch_run/hotnews_json.html
接口說明:今日熱搜榜單火爆全網(wǎng)的內(nèi)容,直接訪問即可,返回json數(shù)據(jù)格式,隔一段時(shí)間自動更新內(nèi)容
-----------------------------------------------------------------------------
接口地址:http://api.zhiwu55.net/v1/catch_data/batch_run/toutiao.com_json.html
接口說明:今日頭條最新內(nèi)容,直接訪問即可,返回json數(shù)據(jù)格式,隔一段時(shí)間自動更新內(nèi)容
-----------------------------------------------------------------------------
接口地址:http://api.zhiwu55.net/v1/catch_data/batch_run/thepaper.cn_json.html
接口說明:澎拜新聞最新內(nèi)容,直接訪問即可,返回json數(shù)據(jù)格式,隔一段時(shí)間自動更新內(nèi)容
-----------------------------------------------------------------------------
接口地址:http://api.zhiwu55.net/v1/catch_data/batch_run/sohu.com_json.html
接口說明:搜狐最新內(nèi)容,直接訪問即可,返回json數(shù)據(jù)格式,隔一段時(shí)間自動更新內(nèi)容
-----------------------------------------------------------------------------
接口地址:http://api.zhiwu55.net/v1/catch_data/batch_run/sina.com.cn_json.html
接口說明:新浪最新內(nèi)容,直接訪問即可,返回json數(shù)據(jù)格式,隔一段時(shí)間自動更新內(nèi)容
-----------------------------------------------------------------------------
接口地址:http://api.zhiwu55.net/v1/catch_data/batch_run/qq.com_json.html
接口說明:騰訊網(wǎng)最新內(nèi)容,直接訪問即可,返回json數(shù)據(jù)格式,隔一段時(shí)間自動更新內(nèi)容
-----------------------------------------------------------------------------
接口地址:http://api.zhiwu55.net/v1/catch_data/batch_run/myzaker.com_json.html
接口說明:扎客新聞網(wǎng)最新內(nèi)容,直接訪問即可,返回json數(shù)據(jù)格式,隔一段時(shí)間自動更新內(nèi)容
-----------------------------------------------------------------------------
接口地址:http://api.zhiwu55.net/v1/catch_data/batch_run/guokr.com_json.html
接口說明:果殼網(wǎng)最新內(nèi)容,直接訪問即可,返回json數(shù)據(jù)格式,隔一段時(shí)間自動更新內(nèi)容
-----------------------------------------------------------------------------
接口地址:http://api.zhiwu55.net/v1/catch_data/batch_run/163.com_json.html
接口說明:網(wǎng)易最新內(nèi)容,直接訪問即可,返回json數(shù)據(jù)格式,隔一段時(shí)間自動更新內(nèi)容
********/
?>
</body>
</html>
復(fù)制代碼
作者:
智伍應(yīng)用
時(shí)間:
2022-8-25 14:58
下面的這二個(gè)插件,都是用上面的API接口二次開發(fā)的,大家可以參考看一下。
歡迎光臨 Discuz! 官方交流社區(qū) (http://www.9999xn.com/)
Powered by Discuz! W1.0