无主之地2配置高吗|看真人裸体BBBBB|秋草莓丝瓜黄瓜榴莲色多多|真人強奷112分钟|精品一卡2卡3卡四卡新区|日本成人深夜苍井空|八十年代动画片

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

如何用Claw抓取你已經(jīng)訂閱的知識(shí)星球

0
分享至

因?yàn)橛嗛喌闹R(shí)星球的信息有點(diǎn)多,而且主要是研報(bào)為主,所以用OpenClaw自己每天到上面抓取,看看最新賣方同學(xué)們有沒有什么新關(guān)注的股票、行業(yè)會(huì)更加有效。

基于這個(gè)需求,我研究了下怎么去用AI抓知識(shí)星球內(nèi)的東西。

主要是知識(shí)星球沒有正式的接口,用模擬瀏覽的方式也很耗費(fèi)流量(關(guān)鍵是也有的時(shí)候被block),最終找到一個(gè)方式,用了一周感覺還可以,做個(gè)記錄。

當(dāng)然不用自己看懂,讓自己的AI看懂就好了。

原理說明

知識(shí)星球提供了移動(dòng)端API(`api.zsxq.com`),可以通過模擬移動(dòng)端請(qǐng)求獲取數(shù)據(jù)。核心是:

  1. 認(rèn)證方式:使用Cookie中的`zsxq access token`進(jìn)行身份驗(yàn)證

  2. 簽名機(jī)制:每個(gè)請(qǐng)求需要攜帶MD5簽名,防止請(qǐng)求被偽造

  3. API端點(diǎn):主要使用`/v2/groups`(星球列表)和`/v2/groups/{group_id}/topics`(主題列表)

獲取Cookie

方法:瀏覽器開發(fā)者工具

  1. 登錄知識(shí)星球網(wǎng)頁版:https://wx.zsxq.com

  2. 打開瀏覽器開發(fā)者工具(F12)

  3. 切換到「Network」標(biāo)簽

  4. 刷新頁面,找到任意請(qǐng)求

  5. 在請(qǐng)求頭中找到`Cookie`字段,復(fù)制完整內(nèi)容

Cookie關(guān)鍵字段

Cookie中最重要的字段是:

  • `zsxq access token`:身份令牌,格式如`XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX_XXXXXXXXXXXXXXXX`

  • ` c WBKFRo`:設(shè)備標(biāo)識(shí)(可選)

Cookie有效期

通常1-3個(gè)月有效

過期后需要重新獲取

建議定期檢查,避免數(shù)據(jù)抓取失敗

簽名算法

知識(shí)星球的API簽名算法如下:

import hashlib import time from urllib.parse import urlencode def generate_signature(path,params,secret="zsxqapi2020"): # 1. 構(gòu)造公共參數(shù) common_params={ "app_version":"3.11.0", "platform":"ios", "timestamp":str(int(time.time()*1000)) } # 2. 合并所有參數(shù) all_params={**common_params,**params} # 3. 按參數(shù)名排序并拼接 sorted_params=sorted(all_params.items(),key=lambda x: x[0]) params_str=urlencode(sorted_params) # 4. 構(gòu)造簽名字符串:path & params & secret sign_str=f"{path}&{params_str}&{secret}" # 5. MD5加密 signature=hashlib.md5(sign_str.encode()).hexdigest() return signature, common_params["timestamp"]

簽名字符串示例:

/v2/groups&app_version=3.11.0&count=20&platform=ios&timestamp=1713523200000&zsxqapi2020

核心API接口

1. 獲取星球列表

GET https://api.zsxq.com/v2/groups?count=50

請(qǐng)求頭:

Cookie: {你的Cookie} X-Signature: {簽名} X-Timestamp: {時(shí)間戳} User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X)...

返回示例:

{ "succeeded":true, "resp_data": { "groups": [ { "group_id":5124251821488, "name":"示例星球名稱", "type":"paid" } ] } }

2. 獲取星球主題

GET https://api.zsxq.com/v2/groups/{group_id}/topics?count=20&scope=all

參數(shù)說明:

  • `group_id`:星球ID

  • `count`:返回?cái)?shù)量(默認(rèn)20,最大50)

  • `scope`:范圍(`all`=全部,`digg`=精華)

3. 獲取主題詳情

GET https://api.zsxq.com/v2/topics/{topic_id}

完整代碼示例

import requests import hashlib import time from urllib.parse import urlencode class ZsxqApiSpider: def __init__(self,cookie): self.base_url="https://api.zsxq.com" self.secret="zsxqapi2020" self.cookie=cookie self.headers={ "User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15", "Accept":"application/json", "Cookie":self.cookie, "Origin":"https://wx.zsxq.com", "Referer":"https://wx.zsxq.com/" } def generate_signature(self,path,params=None): common_params={ "app_version":"3.11.0", "platform":"ios", "timestamp":str(int(time.time()*1000)) } all_params={**common_params,**(paramsor{})} sorted_params=sorted(all_params.items(),key=lambda x: x[0]) params_str=urlencode(sorted_params) sign_str=f"{path}&{params_str}&{self.secret}" signature=hashlib.md5(sign_str.encode()).hexdigest() return signature, common_params["timestamp"] def request(self,path,params=None): signature, timestamp=self.generate_signature(path, params) headers=self.headers.copy() headers["X-Signature"]=signature headers["X-Timestamp"]=timestamp url=f"{self.base_url}{path}" response=requests.get(url,headers=headers,params=params,timeout=15) return response.json() def get_groups(self): """獲取我加入的星球列表""" data=self.request("/v2/groups", {"count":50}) if data.get("succeeded"): return data["resp_data"]["groups"] return [] def get_topics(self,group_id,count=20): """獲取星球的最新主題""" data=self.request(f"/v2/groups/{group_id}/topics", {"count": count,"scope":"all"}) if data.get("succeeded"): return data["resp_data"]["topics"] return [] # 使用示例 if __name__=="__main__": # 替換為你的Cookie COOKIE="zsxq_access_token=YOUR_TOKEN_HERE; ..." spider=ZsxqApiSpider(COOKIE) # 獲取星球列表 groups=spider.get_groups() for g in groups: print(f"星球:{g['name']}(ID:{g['group_id']})") # 獲取第一個(gè)星球的最新主題 if groups: topics=spider.get_topics(groups[0]["group_id"]) for t in topics: print(f"主題:{t.get('title','無標(biāo)題')}")

定時(shí)任務(wù)配置

1. 創(chuàng)建日程任務(wù)

使用`calendar_create`工具創(chuàng)建每日定時(shí)任務(wù):

# 在主對(duì)話中調(diào)用 calendar_create( summary="知識(shí)星球每日簡(jiǎn)報(bào)", description="通過知識(shí)星球API獲取最新內(nèi)容,分析持倉相關(guān)信息。執(zhí)行命令:python3 ~/zsxq_spider/final_crawler.py", dtstart="20260419080000",# 每天早上8點(diǎn)執(zhí)行 rrule={"freq":"DAILY","interval":1}, time_range={ "earliest_schedule_time":"20260419070000", "latest_schedule_time":"20260419090000" } )

2. 任務(wù)執(zhí)行流程

每日觸發(fā) → 執(zhí)行爬蟲腳本 → 解析數(shù)據(jù) → 生成簡(jiǎn)報(bào) → 推送到主對(duì)話

常見問題

Q1: Cookie過期怎么辦?

現(xiàn)象:API返回`{"succeeded": false, "code": 1001}`

解決:

  1. 重新登錄網(wǎng)頁版

  2. 獲取新的Cookie

  3. 更新腳本中的COOKIE變量

Q2: 請(qǐng)求頻率限制

現(xiàn)象:API返回`{"code": 1059}`

解決:

  • 添加請(qǐng)求間隔:`time.sleep(1)`

  • 減少單次請(qǐng)求數(shù)量

  • 實(shí)現(xiàn)重試機(jī)制

Q3: 內(nèi)容提取不完整

原因:主題內(nèi)容存儲(chǔ)在不同字段中

解決:按優(yōu)先級(jí)提取

def extract_content(topic): # 1. talk.text(短文/評(píng)論) if topic.get('talk', {}).get('text'): return topic['talk']['text'] # 2. article.article_content(長(zhǎng)文) if topic.get('article', {}).get('article_content'): return topic['article']['article_content'] # 3. files(附件) if topic.get('files'): return f"[附件]{topic['files'][0].get('name')}" return ""

數(shù)據(jù)存儲(chǔ)建議

目錄結(jié)構(gòu)

/app/data/所有對(duì)話/主對(duì)話/zsxq_data/ ├── daily_20260419.json          # 每日原始數(shù)據(jù) ├── files/                        # 下載的文件 │   ├── 研報(bào)_20260419.pdf │   └── 音頻_20260419.mp3 └── brief_20260419.md            # 每日簡(jiǎn)報(bào)

數(shù)據(jù)格式

{ "示例星球名稱": [ { "topic_id":88442514812884, "title":"示例主題標(biāo)題", "content":"示例內(nèi)容...", "create_time":"2026-04-19T08:30:00.000+0800" } ] }

安全提示

  1. Cookie安全:不要將包含Cookie的代碼上傳到公開倉庫

  2. 請(qǐng)求頻率:避免高頻請(qǐng)求,尊重平臺(tái)規(guī)則

  3. 數(shù)據(jù)使用:獲取的數(shù)據(jù)僅供個(gè)人學(xué)習(xí)研究使用

本教程僅供技術(shù)學(xué)習(xí)交流,請(qǐng)遵守知識(shí)星球用戶協(xié)議。


作者:坦桑尼亞老云 | 編輯:栗加

每個(gè)視角都是拼湊世界真相的碎片,聽真誠(chéng)的行業(yè)觀察者講述獨(dú)特的故事。

我們有深耕行業(yè)的資深顧問,連續(xù)跨界探索的未來創(chuàng)業(yè)者,專注細(xì)節(jié)的產(chǎn)品匠人,和許多志同道合的你們,如果你有想要分享的故事或者感想,可以留言或者郵件聯(lián)系(AiysJY@outlook.com)。

,也歡迎點(diǎn)分享給需要的朋友們,記得點(diǎn)一下在看和星標(biāo),期待共同在這個(gè)行業(yè)的宏大敘事中,留下一句詩。:)

聲明:包含AI生成內(nèi)容

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
第二個(gè)許家??!又一首富栽了!世界500強(qiáng)竟是假的,千億帝國(guó)清零

第二個(gè)許家印!又一首富栽了!世界500強(qiáng)竟是假的,千億帝國(guó)清零

米果說識(shí)
2026-07-06 19:32:42
內(nèi)海直打太平洋!中國(guó)核潛艇亮劍,全程打給美國(guó)看,攻守瞬間逆轉(zhuǎn)

內(nèi)海直打太平洋!中國(guó)核潛艇亮劍,全程打給美國(guó)看,攻守瞬間逆轉(zhuǎn)

瑛派兒老黃
2026-07-06 18:35:58
比 C 羅還差!皇馬新援災(zāi)難級(jí)發(fā)揮!一己之力葬送葡萄牙

比 C 羅還差!皇馬新援災(zāi)難級(jí)發(fā)揮!一己之力葬送葡萄牙

瀾歸序
2026-07-07 05:45:08
嫁78歲法國(guó)老頭水落石出后,42歲李宇春現(xiàn)狀曝光,原來李晨沒說謊

嫁78歲法國(guó)老頭水落石出后,42歲李宇春現(xiàn)狀曝光,原來李晨沒說謊

小正說娛樂
2026-07-07 08:56:39
抗戰(zhàn)時(shí)有干部不滿意毛主席每天能有一個(gè)肉菜,陳云如何給他解釋?

抗戰(zhàn)時(shí)有干部不滿意毛主席每天能有一個(gè)肉菜,陳云如何給他解釋?

阿器談史
2026-05-28 11:03:11
NBA夏聯(lián):郭昊文6分鐘0+0+0+0+0正負(fù)值最差 國(guó)王險(xiǎn)勝雄鹿

NBA夏聯(lián):郭昊文6分鐘0+0+0+0+0正負(fù)值最差 國(guó)王險(xiǎn)勝雄鹿

醉臥浮生
2026-07-07 12:04:31
太慘了!夫妻省吃儉用三年為孩子教育砸下30萬元,高考考了420分

太慘了!夫妻省吃儉用三年為孩子教育砸下30萬元,高考考了420分

火山詩話
2026-07-04 16:03:24
一戶3個(gè)車位!上海這個(gè)小區(qū)為何還焦慮"停車難"?

一戶3個(gè)車位!上海這個(gè)小區(qū)為何還焦慮"停車難"?

看看新聞Knews
2026-07-07 11:00:15
哈蘭德女友曬“全家?!保?歲兒子罕見曝光,24歲寶媽美腿惹眼

哈蘭德女友曬“全家福”,2歲兒子罕見曝光,24歲寶媽美腿惹眼

譯言
2026-07-07 07:14:25
我國(guó)為什么有兩個(gè)中央軍委?

我國(guó)為什么有兩個(gè)中央軍委?

荷蘭豆愛健康
2026-07-05 01:57:06
華為2026校招“避雷”清單:這10所985/211意外慎報(bào),原因太現(xiàn)實(shí)

華為2026校招“避雷”清單:這10所985/211意外慎報(bào),原因太現(xiàn)實(shí)

戶外阿毽
2026-07-07 03:53:07
去年的“樣板工程”今年就“部分潰壩”,天災(zāi)之下更需反思人禍

去年的“樣板工程”今年就“部分潰壩”,天災(zāi)之下更需反思人禍

歷史總在押韻
2026-07-07 12:17:24
7.7國(guó)乒全員參加活動(dòng),孫穎莎正C位,王楚欽在一旁,兵分兩路回京

7.7國(guó)乒全員參加活動(dòng),孫穎莎正C位,王楚欽在一旁,兵分兩路回京

郝小小看體育
2026-07-07 07:35:12
7月剛開始連曝5個(gè)瓜!破相吻肩、下體照、逐出師門、舒淇令人意外

7月剛開始連曝5個(gè)瓜!破相吻肩、下體照、逐出師門、舒淇令人意外

小樾說歷史
2026-07-06 12:07:31
?震驚!東北一高校女生搬寢室,安排男生幫忙,女生憤怒揚(yáng)言舉報(bào)

?震驚!東北一高校女生搬寢室,安排男生幫忙,女生憤怒揚(yáng)言舉報(bào)

火山詩話
2026-07-06 16:40:58
1958年,李銳問毛主席:您在農(nóng)村長(zhǎng)大,相信一畝地產(chǎn)幾萬斤糧食?

1958年,李銳問毛主席:您在農(nóng)村長(zhǎng)大,相信一畝地產(chǎn)幾萬斤糧食?

文史季季紅
2026-07-04 10:15:03
應(yīng)試教育太強(qiáng)!清華丘班多位學(xué)生數(shù)學(xué)掛科要“退貨”,遭家長(zhǎng)請(qǐng)?jiān)?>
    </a>
        <h3>
      <a href=東東趣談
2026-07-06 11:00:25
暖心王子哈蘭德,娶青梅竹馬女友購五千萬豪宅,只穿大牌待人和氣

暖心王子哈蘭德,娶青梅竹馬女友購五千萬豪宅,只穿大牌待人和氣

莫地方
2026-07-06 00:03:08
德媒:歐足聯(lián)應(yīng)該威脅退出國(guó)際足聯(lián),必須推翻因凡蒂諾

德媒:歐足聯(lián)應(yīng)該威脅退出國(guó)際足聯(lián),必須推翻因凡蒂諾

懂球帝
2026-07-07 00:00:06
葡萄牙總理:如今的C羅不僅是球員,更是葡萄牙的象征和名片

葡萄牙總理:如今的C羅不僅是球員,更是葡萄牙的象征和名片

懂球帝
2026-07-07 08:05:29
2026-07-07 13:08:49
愛因斯
愛因斯
每個(gè)視角都是拼湊世界真相的碎片,聽真誠(chéng)的行業(yè)觀察者講述獨(dú)特的故事。
167文章數(shù) 2關(guān)注度
往期回顧 全部

科技要聞

Claude說話前 腦子里可能先亮起了這些概念

頭條要聞

媒體:逼走中企后接盤工廠 美國(guó)還吹噓新能源"復(fù)興"了

頭條要聞

媒體:逼走中企后接盤工廠 美國(guó)還吹噓新能源"復(fù)興"了

體育要聞

世界杯最強(qiáng)17歲,貝林厄姆主動(dòng)和他交換球衣

娛樂要聞

司曉迪再爆鹿晗,稱兩人已睡過

財(cái)經(jīng)要聞

百萬粉絲主播的減肥“生意”

汽車要聞

試駕全新坦克300 Hi4-Z/激光雷達(dá)/全場(chǎng)景NOA

態(tài)度原創(chuàng)

健康
家居
數(shù)碼
公開課
軍事航空

突發(fā)中風(fēng) 腦梗和腦出血怎么判斷?

家居要聞

2026建博會(huì)(廣州) 公裝聯(lián)探展交流活動(dòng)

數(shù)碼要聞

中國(guó)大陸?yīng)毾?!零刻GTR9 Pro頂配主機(jī)上線:128GB內(nèi)存+4TB固態(tài)、售價(jià)28599元

公開課

李玫瑾:為什么性格比能力更重要?

軍事要聞

俄烏沖突再升級(jí) 康斯坦丁諾夫卡成爭(zhēng)奪焦點(diǎn)

無障礙瀏覽 進(jìn)入關(guān)懷版