微博 API:關鍵字搜尋、留言、轉發鏈與英譯資料

依 2026-10-25 規格快照

快速解答

微博 API 以非同步任務蒐集關鍵字搜尋結果、單則貼文的留言與轉發,並可由一則轉發往上回溯轉發鏈(depth 預設 3、最多 10)。英譯資料採關鍵字訂閱:以英文關鍵字訂閱後,系統回補近 30 天的貼文並提供英文機器翻譯,再以 /weibo/translate/search、/weibo/translate/pushs、/weibo/translate/reposts 查詢英譯貼文、留言與轉發。資料以網路爬蟲蒐集微博公開發布的內容。

可取得的資料

欄位依 2026-10-25 規格快照。快照沒有逐一列出搜尋結果貼文的欄位,標示「示意樣本」的列取自下方示意資料,正式欄位以試用資料為準。快照也未將 post_id、parent_id 等關聯欄位標為必填,實際出現情形請以試用資料確認。

資料欄位端點
關鍵字搜尋的貼文(示意樣本) url, author, author_id, content, tm, datetime, metadata_tags, sentiment, like_count, comment_count, share_count GET /weibo/search/task/{task_id}
貼文留言 id, post_id, author, author_id, content, push_type, sentiment, tm, tm_crawler, region GET /weibo/pushs/task/{task_id}
貼文轉發 id, parent_id, url, author, author_id, content, datetime, tm, like_count, comment_count, share_count, sentiment, region GET /weibo/reposts/task/{task_id}
轉發鏈(由起點往原文方向) data, depth, post_url, status, task GET /weibo/repost/parent/task/{task_id}
公開帳號的貼文時間軸 profile, timelines, task GET /weibo/users/task/{task_id}
英譯貼文 data, total_count POST /weibo/translate/search
英譯留言 id, post_id, author, author_id, content, push_type, sentiment, tm, tm_crawler, region POST /weibo/translate/pushs
英譯轉發 id, parent_id, url, author, author_id, title, content, sentiment, tm, tm_crawler, region POST /weibo/translate/reposts

端點一覽

Base URL 為 https://api.infominer.io/api/v2,每個請求以 auth-header 標頭帶 API 金鑰。主要參數中標示 * 者為必填。

方法路徑說明主要參數
POST /weibo/search/task 建立關鍵字搜尋任務,可指定日期區間與最多爬取頁數。 keyword* end_date max_pages start_date
GET /weibo/search/task/{task_id} 輪詢搜尋任務;DONE 時同時回傳貼文與 total_count,可分頁。 task_id* page pageSize
POST /weibo/pushs/task 以貼文網址建立留言蒐集任務,可選排序與是否含第二層回覆。 post_url* crawl_second_layer get_all order_type
GET /weibo/pushs/task/{task_id} 輪詢留言任務;DONE 時回傳留言,每頁最多 1000 筆。 task_id* page pageSize
POST /weibo/reposts/task 以貼文網址建立轉發蒐集任務。 post_url*
GET /weibo/reposts/task/{task_id} 輪詢轉發任務;DONE 時回傳轉發紀錄,每筆帶 parent_id。 task_id* page pageSize
POST /weibo/repost/parent/task 由一則轉發往上回溯轉發鏈,上層貼文不在資料庫時自動補抓。 post_url* depth
GET /weibo/repost/parent/task/{task_id} 輪詢轉發鏈任務;DONE 或 PARTIAL 時回傳目前已取得的轉發鏈與貼文數。 task_id*
POST /weibo/users/task 建立公開帳號的貼文時間軸任務,需帶帳號 ID 與起訖日期。 author_id* endDate* startDate*
GET /weibo/users/task/{task_id} 輪詢時間軸任務;DONE 時回傳帳號資料(profile)與貼文(timelines)。 task_id*
POST /weibo/translate/search 查詢已訂閱關鍵字的英譯貼文,依日期區間、排序與分頁回傳。 endDate* page* sorted* startDate* dateType keywords pageSize request_id
POST /weibo/translate/pushs 以 post_id 取得一則貼文的英譯留言。 post_id* page pageSize
POST /weibo/translate/reposts 以 post_id 取得一則主貼文的英譯轉發。 post_id* page pageSize request_id

取資料流程

  1. POST /weibo/search/task 帶 keyword(必填)與選填的 start_date、end_date、max_pages,回應帶任務 id 與狀態(快照示例為 INIT)。
  2. GET /weibo/search/task/{task_id} 輪詢;狀態為 DONE 時,同一個回應帶回貼文(data)與 total_count,以 page、pageSize(最多 100)分頁;FAILED 時停止並處理失敗。
  3. 對要深入的貼文,以貼文網址建立留言任務 POST /weibo/pushs/task(order_type 可選 hot、time、both,crawl_second_layer 決定是否連同第二層回覆)或轉發任務 POST /weibo/reposts/task,再各自輪詢取回。
  4. 要追一則轉發的來源時,POST /weibo/repost/parent/task 帶 post_url 與 depth;資料庫還沒有的上層貼文會自動補抓,DONE 或 PARTIAL 時回傳已取得的轉發鏈,由起點往原文方向排列。
  5. 英譯資料:開通時與我們設定英文關鍵字訂閱,系統回補近 30 天的貼文並翻成英文;之後以 POST /weibo/translate/search 依日期區間與排序查英譯貼文,再以 post_id 查英譯留言與英譯轉發。

curl 範例

建立關鍵字搜尋任務

curl -X POST https://api.infominer.io/api/v2/weibo/search/task \
  -H "auth-header: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword": "手冲咖啡", "start_date": "2026-06-01", "end_date": "2026-06-30", "max_pages": 3}'

以任務 ID 輪詢

curl "https://api.infominer.io/api/v2/weibo/search/task/$TASK_ID?page=1&pageSize=100" \
  -H "auth-header: YOUR_API_KEY"

查詢英譯貼文(已訂閱的關鍵字)

curl -X POST https://api.infominer.io/api/v2/weibo/translate/search \
  -H "auth-header: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keywords": "coffee OR latte", "startDate": "2026-06-01 00:00:00", "endDate": "2026-06-30 23:59:59", "dateType": "post_time", "sorted": "tm", "page": 1, "pageSize": 50}'

示意 JSON 樣本

以下為人工撰寫的示意資料:帳號為 sample_user_n,ID 為明顯的假值,不是真實貼文。

建立任務的回應(示意資料)

{
  "id": "00000000-0000-4000-8000-000000000001",
  "keyword": "手冲咖啡",
  "status": "INIT"
}

任務完成後的輪詢回應(示意資料)

{
  "keyword": "手冲咖啡",
  "status": "DONE",
  "total_count": 2,
  "task": {
    "id": "00000000-0000-4000-8000-000000000001",
    "status": "DONE"
  },
  "data": [
    {
      "source": "weiboblog",
      "platform": "weibo",
      "url": "https://m.weibo.cn/detail/0000000000000001",
      "author": "sample_user_1",
      "author_id": "0000000000000001",
      "content": "周末在巷子里的咖啡店试了新豆子,酸度很柔和,推荐给喜欢浅焙的朋友 #手冲咖啡",
      "tm": 1781056800,
      "datetime": "2026-06-10 10:00:00",
      "type": [],
      "metadata_tags": [
        "手冲咖啡"
      ],
      "sentiment": "Positive",
      "like_count": 12,
      "comment_count": 3,
      "share_count": 1
    },
    {
      "source": "weiboblog",
      "platform": "weibo",
      "url": "https://m.weibo.cn/detail/0000000000000002",
      "author": "sample_user_2",
      "author_id": "0000000000000002",
      "content": "整理了三间适合下午工作的咖啡店,插座和座位都在文末清单",
      "tm": 1781060400,
      "datetime": "2026-06-10 11:00:00",
      "type": [],
      "metadata_tags": [
        "咖啡店",
        "下午茶"
      ],
      "sentiment": "Neutral",
      "like_count": 5,
      "comment_count": 0,
      "share_count": 0
    }
  ]
}

貼文與留言如何關聯

留言與轉發任務都以貼文網址 post_url 建立。留言紀錄以 post_id 欄位指回所屬貼文,轉發紀錄以 parent_id 欄位指回被轉發的主貼文。轉發鏈任務方向相反:從一則轉發沿著上層連結往原文方向回溯,沒有上層連結或達到 depth 上限時停止,因此不保證一定回溯到原文;回傳陣列由起點貼文往原文方向排列,depth 欄位是實際取得的貼文數。英譯端點沿用同樣的關聯,英譯留言有 post_id 欄位,英譯轉發有 parent_id 欄位。

歷史範圍與限制

  • 英譯資料採關鍵字訂閱:以英文關鍵字訂閱後,系統回補近 30 天的貼文並提供英文機器翻譯。只有已訂閱關鍵字涵蓋的貼文有英譯,不是對任意貼文隨選翻譯。
  • 英文關鍵字會先轉成中文檢索詞再蒐集;翻譯為機器翻譯。
  • 轉發鏈回溯的 depth 預設 3、最多 10。
  • 分頁上限:搜尋結果與轉發 pageSize 最多 100,留言 pageSize 最多 1000;英譯留言最多 1000、英譯轉發最多 100。
  • 關鍵字搜尋可回溯的期間、每次可取得的數量與更新頻率,依專案範圍確認。
蒐集方式:以網路爬蟲蒐集各平台公開發布的內容。是否適用於您的用途,依用途與法域由買方法務評估,我們可提供來源與蒐集方式說明。

交付格式

所有端點回傳 JSON。任務型端點在 DONE 後由輪詢回應帶回資料;英譯端點是查詢型,直接回傳 data 與 total_count。批次檔案或其他交付方式,依專案範圍確認。

申請試用

在下方表單勾選微博,說明要追的關鍵字(中文或英文訂閱)、是否需要留言、轉發與轉發鏈,以及預估資料量。我們會確認範圍,並回覆試用與 API 金鑰的安排。

我們只會用您提供的資料回覆這次詢問,詳見隱私權政策。 或寫信到 [email protected]

常見問題

微博 API 可以用英文關鍵字查詢嗎?
可以,採關鍵字訂閱:開通時以英文關鍵字設定訂閱,系統回補近 30 天的相關貼文並提供英文機器翻譯,之後以 /weibo/translate/search 查詢。查詢只讀取已產生的英譯資料,不會對任意貼文觸發翻譯;可涵蓋的範圍於開通時確認。
怎麼追一則微博轉發是從哪裡轉來的?
以 POST /weibo/repost/parent/task 帶該轉發的網址與 depth(預設 3、最多 10),完成後回傳已取得的轉發鏈,由這則轉發往原文方向排列;沒有上層連結或達到 depth 上限時停止。
留言可以包含第二層回覆嗎?
可以。建立留言任務時把 crawl_second_layer 設為 true,即一併蒐集第二層回覆,預設為 false。
微博資料是怎麼蒐集的?
以網路爬蟲蒐集微博公開發布的內容。是否適用於您的用途,依用途與法域由買方法務評估,我們可提供來源與蒐集方式說明。
微博資料可以回溯多久?
英譯資料為訂閱後回補近 30 天;關鍵字搜尋任務的回溯範圍依專案範圍確認。