国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(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í)星球每日簡報(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ù) → 生成簡報(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(長文) 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            # 每日簡報(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è)視角都是拼湊世界真相的碎片,聽真誠的行業(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)推薦
官宣!伊朗確定參加世界杯 美國不會(huì)設(shè)置障礙 意大利無緣遞補(bǔ)參賽

官宣!伊朗確定參加世界杯 美國不會(huì)設(shè)置障礙 意大利無緣遞補(bǔ)參賽

念洲
2026-04-28 17:19:34
跌回20年前!權(quán)威數(shù)據(jù)表明,中國房地產(chǎn)的實(shí)際購買力已跌至2006的水平

跌回20年前!權(quán)威數(shù)據(jù)表明,中國房地產(chǎn)的實(shí)際購買力已跌至2006的水平

風(fēng)向觀察
2026-04-28 16:20:39
87歲香港綠葉患癌拒絕治療,瘦骨嶙峋行動(dòng)不便,已搬進(jìn)深圳養(yǎng)老院

87歲香港綠葉患癌拒絕治療,瘦骨嶙峋行動(dòng)不便,已搬進(jìn)深圳養(yǎng)老院

八斗小先生
2026-04-28 10:54:08
某境外組織大力資助“躺平網(wǎng)紅”,系統(tǒng)性開展“躺平洗腦”,國安部提醒

某境外組織大力資助“躺平網(wǎng)紅”,系統(tǒng)性開展“躺平洗腦”,國安部提醒

界面新聞
2026-04-28 08:10:01
14死37傷,以軍深夜開火,內(nèi)塔尼亞胡赦免遭拒,特朗普轉(zhuǎn)變態(tài)度

14死37傷,以軍深夜開火,內(nèi)塔尼亞胡赦免遭拒,特朗普轉(zhuǎn)變態(tài)度

軍機(jī)Talk
2026-04-28 11:08:25
南都報(bào)道后,區(qū)長現(xiàn)場督辦!廣州天河這條路“驚心”變順心

南都報(bào)道后,區(qū)長現(xiàn)場督辦!廣州天河這條路“驚心”變順心

南方都市報(bào)
2026-04-28 15:12:23
細(xì)思極恐,躺平思想原來是境外敵對(duì)勢力煽動(dòng)的?

細(xì)思極恐,躺平思想原來是境外敵對(duì)勢力煽動(dòng)的?

十柱
2026-04-28 11:54:55
汪涵妻子被爆近況沖上熱搜:什么樣的“愛”會(huì)讓人窒息?

汪涵妻子被爆近況沖上熱搜:什么樣的“愛”會(huì)讓人窒息?

桌子的生活觀
2026-04-28 12:19:53
80后家長發(fā)明“防早戀”發(fā)型,女兒面如死灰,網(wǎng)友都看不下去了

80后家長發(fā)明“防早戀”發(fā)型,女兒面如死灰,網(wǎng)友都看不下去了

妍妍教育日記
2026-04-27 09:20:13
43歲蔡卓妍官宣再婚!嫁給小10歲健身教練,明星好友紛紛祝福

43歲蔡卓妍官宣再婚!嫁給小10歲健身教練,明星好友紛紛祝福

萌神木木
2026-04-28 12:45:29
徐澤偉已被引渡至美國,連律師都不知情!

徐澤偉已被引渡至美國,連律師都不知情!

意大利華人網(wǎng)0039
2026-04-28 00:06:41
“二女兒長大得多恨你們!”家長否認(rèn)重男輕女,名字卻暴露了私心

“二女兒長大得多恨你們!”家長否認(rèn)重男輕女,名字卻暴露了私心

妍妍教育日記
2026-04-28 16:14:08
六臺(tái):阿爾瓦雷斯已經(jīng)告知馬競,自己想加盟巴薩

六臺(tái):阿爾瓦雷斯已經(jīng)告知馬競,自己想加盟巴薩

懂球帝
2026-04-28 15:10:14
李春平“世紀(jì)騙局”:沒有百億遺產(chǎn),“承德文物盜賣案”與他有關(guān)

李春平“世紀(jì)騙局”:沒有百億遺產(chǎn),“承德文物盜賣案”與他有關(guān)

健身狂人
2026-04-28 14:26:11
鄧正紅軟實(shí)力哲學(xué):周期性累積效應(yīng)與星系團(tuán)的膨脹波動(dòng)周期相呼應(yīng)

鄧正紅軟實(shí)力哲學(xué):周期性累積效應(yīng)與星系團(tuán)的膨脹波動(dòng)周期相呼應(yīng)

鄧正紅軟實(shí)力
2026-04-28 11:56:41
女干部吉玉萍頻繁接受私營企業(yè)主安排的宴請(qǐng),違規(guī)出入私人會(huì)所并接受宴請(qǐng),多次收受私營企業(yè)主所送禮金……上海市紀(jì)委監(jiān)委最新通報(bào)

女干部吉玉萍頻繁接受私營企業(yè)主安排的宴請(qǐng),違規(guī)出入私人會(huì)所并接受宴請(qǐng),多次收受私營企業(yè)主所送禮金……上海市紀(jì)委監(jiān)委最新通報(bào)

都市快報(bào)橙柿互動(dòng)
2026-04-27 20:55:07
“巴鐵”總統(tǒng)敏感時(shí)刻再訪華,釋放哪些信號(hào)?

“巴鐵”總統(tǒng)敏感時(shí)刻再訪華,釋放哪些信號(hào)?

補(bǔ)壹刀
2026-04-28 09:47:16
云南15歲女生被男同學(xué)殺害案一審宣判:被告被判無期徒刑 受害人父母申請(qǐng)抗訴,檢察院已受理

云南15歲女生被男同學(xué)殺害案一審宣判:被告被判無期徒刑 受害人父母申請(qǐng)抗訴,檢察院已受理

紅星新聞
2026-04-28 16:35:51
2026年全面禁麻將?公安部劃定紅線,不超這個(gè)金額全合法!

2026年全面禁麻將?公安部劃定紅線,不超這個(gè)金額全合法!

筆墨V
2026-04-28 14:08:20
果然有情況!湖南如廁老兵底褲被扒:刑滿釋放人員、多次鬧訪纏訪

果然有情況!湖南如廁老兵底褲被扒:刑滿釋放人員、多次鬧訪纏訪

奇思妙想草葉君
2026-04-27 20:16:56
2026-04-28 18:12:50
愛因斯
愛因斯
每個(gè)視角都是拼湊世界真相的碎片,聽真誠的行業(yè)觀察者講述獨(dú)特的故事。
95文章數(shù) 1關(guān)注度
往期回顧 全部

科技要聞

10億周活目標(biāo)落空!傳OpenAI爆發(fā)內(nèi)部分歧

頭條要聞

14歲男生殺害女同學(xué)被判無期 聽到宣判時(shí)幾乎面無表情

頭條要聞

14歲男生殺害女同學(xué)被判無期 聽到宣判時(shí)幾乎面無表情

體育要聞

季后賽最新局勢:雷霆4-0晉級(jí)首隊(duì) 4隊(duì)3-1

娛樂要聞

蔡卓妍官宣結(jié)婚,老公比她小10歲

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

政治局會(huì)議:加強(qiáng)算力網(wǎng)等規(guī)劃建設(shè)

汽車要聞

拒絕瘋狂套娃!現(xiàn)代艾尼氪金星長在未來審美點(diǎn)上

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

數(shù)碼
游戲
親子
藝術(shù)
本地

數(shù)碼要聞

2026旗艦天花板?HyperX暗影精靈MAX 300W+性能深度解析

全新游戲發(fā)布會(huì)官宣!大量新作首秀 11款游戲亮相

親子要聞

2026-2027年全球母嬰市場及中國母嬰產(chǎn)業(yè)出海機(jī)遇報(bào)告

藝術(shù)要聞

深圳極具未來感的“外星”建筑亮相

本地新聞

用青花瓷的方式,打開西溪濕地

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