把「二手商品詳情」搬進 Excel 的零登錄方案
關鍵詞:PHP、閑魚、爬蟲、商品詳情、代碼示例、合規(guī)、CSV/Excel
適合:運營、學生、羊毛黨、一切「不會 Python 但會用 Excel」的同學
一、為什么寫這篇「軟」文?
老板要「閑魚競品均價」——人工滑屏 300 條,眼花了
學 Java/Python 成本高——PHP 開箱即用,虛擬主機就能跑
封號嚇破膽——只爬「游客可見」字段,零登錄,零滑塊
今天帶你走「公開接口 + PHP 原生」陽關道:
單文件 60 行,虛擬主機可部署,CSV 導出直接透視圖!
二、技術選型:為什么選「公開游客接口」

結論:只采「游客可見」信息——標題、價格、所在地、瀏覽量、想要數(shù),不碰聊天記錄,才能長期安穩(wěn)。
三、5 分鐘環(huán)境:一條命令全裝好
bash
# 任意 PHP≥7.2 即可 # 依賴:零!原生 curl + json + fopen 足夠
虛擬主機、寶塔、XAMPP、WAMP 通殺,連 Composer 都不用。
四、核心思路:兩步拿到商品 JSON
搜索頁→拿 itemId(正則即可)
詳情頁→/json.htm→結構化數(shù)據(jù)
示例 URL(官方公開,無需 Cookie):
https://g-acs.m.goofish.com/h5/mtop.taobao.idle.awesome.itemdetail/1.0/?data={"itemId":"776721774669"}
返回片段:
JSON
{"data":{"components":{"itemInfo":{"title":"佳能 AE-1 膠片機","price":"1180","location":"杭州","viewCount":"1283","wantCnt":"23"}}}}
五、60 行完整源碼:搜索 + 詳情 + CSV 一條龍
保存為 xianyu.php,命令行 php xianyu.php 即可跑:
php
#!/usr/bin/env php
?php
/* 閑魚公開接口爬蟲 - 零依賴版 */
$key = $argv[1] ?? readline("請輸入關鍵詞:");
$maxPage = (int)($argv[2] ?? 3); // 先跑3頁約60條
$csvFile = "閑魚_{$key}_".date('Ymd').".csv";
$fp = fopen($csvFile, 'w');
fputcsv($fp, ['itemId', 'title', 'price', 'location', 'want', 'view', 'updated']);
$searchUrl = "https://s.goofish.com/h5/searchPub/data?query=%s&page=%s&pageSize=20";
$detailUrl = "https://g-acs.m.goofish.com/h5/mtop.taobao.idle.awesome.itemdetail/1.0/?data=%s";
$userAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X)';
for ($page = 1; $page <= $maxPage; $page++) {
// ① 搜索頁
$searchJson = http_get(sprintf($searchUrl, urlencode($key), $page), $userAgent);
$list = json_decode($searchJson, true)['data']['listItem'] ?? [];
if (!$list) break;
foreach ($list as $it) {
$itemId = $it['itemId'] ?? '';
if (!$itemId) continue;
// ② 詳情頁
$detailJson = http_get(sprintf($detailUrl, urlencode(json_encode(['itemId' =?> $itemId]))), $userAgent);
$info = json_decode($detailJson, true)['data']['components']['itemInfo'] ?? [];
if (!$info) continue;
// ③ 寫入CSV
fputcsv($fp, [
$itemId,
$info['title'] ?? '',
(float)str_replace(',', '', $info['price'] ?? '0'),
$info['location'] ?? '',
(int)($info['wantCnt'] ?? 0),
(int)($info['viewCount'] ?? 0),
date('Y-m-d H:i:s')
]);
usleep(200000); // 0.2s 禮貌限速
}
echo "Page {$page} 完成n";
}
fclose($fp);
echo "共導出 " . (count(file($csvFile)) - 1) . " 條 → {$csvFile}n";
/* -------------- 原生 http_get -------------- */
function http_get($url, $ua) {
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["User-Agent: $ua"],
CURLOPT_TIMEOUT => 15,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_SSL_VERIFYPEER => false,
]);
$resp = curl_exec($ch);
curl_close($ch);
return $resp ?: throw new Exception("CURL失敗");
}
?>
運行截圖:
$ php xianyu.php "佳能AE-1" 3 Page 1 完成 Page 2 完成 Page 3 完成 共導出 60 條 → 閑魚_佳能AE-1_20250929.csv
Excel 打開 → 透視圖 → 均價/區(qū)域熱度一目了然。
六、提速 & 穩(wěn)速:并發(fā) + 重試 + 禮貌策略

進階:一行命令裝Guzzle:composer require guzzlehttp/guzzle,把http_get換成GuzzleClient,即可HTTP2+連接池。
七、三行代碼看行情(Excel透視)
均價 =AVERAGE(C:C)
最低地區(qū)透視圖 → 低價收貨
瀏覽/想要比 → 判斷“真假熱銷”
八、常見問題(FAQ)
403怎么辦?→把usleep調到0.5s,或加Accept-Language
想要圖文詳情?→游客接口無圖,需登錄版(高風險,本文不展開)
一天能采多少?→單IP1w次+無封號;分布式再+代理
能商用嗎?→只采“游客可見”字段,無明文禁止;對外展示請脫敏itemId后三位
九、把腳本升級成“副業(yè)現(xiàn)金流”

已有讀者把“閑魚行情”做成星球,200會員×50元=月入1w
十、合規(guī)再提醒:只挖公開礦,不碰隱私礦
不登錄、不破解、不存儲聊天記錄
不公開賣家手機號、地址、真實昵稱
對外展示脫敏itemId,避免黃牛精準狙擊
商用前閱讀《閑魚用戶協(xié)議》,必要時咨詢法律顧問
十一、結語:讓技術“溫柔”地賺錢
今天這篇軟文,沒有對抗、沒有炫技,只有:
公開接口→低風險
60行代碼→可復制
CSV輸出→能落地
把腳本丟給cron,每天一杯咖啡的時間,就能生成一份“二手行情報告”。
當別人還在手動滑屏,你已經用PHP把閑魚變成了“躺賺”的副業(yè)提款機。
審核編輯 黃宇
-
PHP
+關注
關注
0文章
462瀏覽量
28621 -
爬蟲
+關注
關注
0文章
87瀏覽量
8090
發(fā)布評論請先 登錄
CH341編程器軟件NeoProgrammer_2.2.0.10
閑魚商品列表API接口指南
閑魚商品詳情 API 接口文檔
京東關鍵詞搜索商品列表的Python爬蟲實戰(zhàn)
閑魚商品詳情API完整指南
???????閑魚平臺根據(jù)商品ID獲取商品詳情的API接口實現(xiàn)
# 深度解析:爬蟲技術獲取淘寶商品詳情并封裝為API的全流程應用
閑魚商品詳情API秘籍!輕松獲取SKU屬性數(shù)據(jù)
閑魚API接口的術應用場景分析
閑魚平臺獲取商品詳情API接口
從 0 到 1:用 PHP 爬蟲優(yōu)雅地拿下京東商品詳情
PHP 閑魚爬蟲漫游指南
評論