本文展示一個簡單的 PHP 腳本,通過百度移動端圖片搜索接口(JSON 格式)獲取關鍵詞「美女」的圖片鏈接並分頁顯示。僅供學習 HTTP 請求與 JSON 解析參考,實際生產請遵守目標站點 robots.txt 及服務條款,並考慮版權合規。
<?php
$p = isset($_GET['p']) ? (int)$_GET['p'] : 1;
$page = $p * 20; // 百度 pn 參數:起始索引
$url = 'https://m.baidu.com/img?tn=bdjsonliulan&pu=sz%401320_2001&bd_page_type=1'
. '&tag1=%E7%BE%8E%E5%A5%B3&realword=%E7%BE%8E%E5%A5%B3&word=%E7%BE%8E%E5%A5%B3'
. '&pn=' . $page . '&rn=20';
$json = file_get_contents($url);
$data = json_decode($json);
if (isset($data->data) && is_array($data->data)) {
foreach ($data->data as $item) {
if (isset($item->picurl)) {
echo '<center><img width="640px" src="' . htmlspecialchars($item->picurl) . '"></center><br>';
}
}
}
$nextPage = $p + 1;
echo '<center><a href="?p=' . $nextPage . '">Next Page</a></center>';
?>
pn 為起始索引(每頁 20 張),rn=20 固定頁面大小。urlencode 後傳遞,響應為 UTF-8 JSON。htmlspecialchars() 防止 XSS。$data->data 存在且為數組,避免接口變更導致報錯。file_get_contents,支持超時、重試、Header 定制。User-Agent 模擬瀏覽器,降低被反爬風險。