w2b
1.0.0
在我日常工作中,我會將各種網路以及生活中產出的資訊匯總到Bear,再透過Bear的雲端同步使我各個終端的資訊保持一致。以前在使用有道雲筆記的時候,有個功能我很喜歡,就是當看到一篇想收藏的文章的話,就可以直接右上角送到有道雲筆記。
我現在面臨的需求是能不能在看到喜歡的文章的時候,也透過類似於點擊右上角分享一下
就可以直接將文章同步到我各個終端上的Bear
,最終效果如下:
要實現上述的需求,我大概思考如下的解決方案:
準備一個微訊號(這裡直接稱為小號)專門接收待收藏到Bear的文章
寫一個服務監控小號的訊息,例如收到推文類型的訊息就進行內容擷取
監控服務將提取後的內容傳送到Bear(這裡要求服務運行在Mac OS上)
所以在繼續之前,你需要有以下條件:
基本的Python基礎(寫小腳本Python真的很方便)
一台裝有Bear的Mac OS
git clone https://github.com/howie6879/w2b
cd w2b
# 推荐使用pipenv 你也可以使用自己中意的环境构建方式
pipenv install --python=/Users/howie6879/anaconda3/envs/python36/bin/python3.6 --skip-lock
# 运行前需要填好配置文件
pipenv run python w2b/run.py
首先請依照利用微信同步文章到Bear提到的方式確定以下常數:
S_ACCOUNT_ID:微信傳送帳號ID,可以在Account/userinfo.data
下查看
R_ACCOUNT_ID:微信接收帳戶ID,同上
RAW_KEY:解密Key,就是上面介紹的64位元字串
DB_PATH_TEM:定義的是訊息DB路徑,例如:"/Users/howie6879/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/2.0b4.0.9/{0}/Message /"
對應是w2b/config.py
中的設定:
import os
from w2b . utils . tools import gen_md5
class Config :
# 微信发送账户ID
S_ACCOUNT_ID = os . environ . get ( "S_ACCOUNT_ID" , "" )
# 微信接收账户ID
R_ACCOUNT_ID = os . environ . get ( "R_ACCOUNT_ID" , "" )
# 解密Key
RAW_KEY = os . environ . get ( "RAW_KEY" , "" )
# 消息DB路径
DB_PATH_TEM = "/Users/howie6879/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/2.0b4.0.9/{0}/Message/"
# 微信接收账户所有消息DB文件夹
MSG_DB_DIR = DB_PATH_TEM . format ( gen_md5 ( R_ACCOUNT_ID ))
# 与目标微信账户的聊天表
MSG_TABLE_NAME = f"Chat_ { gen_md5 ( S_ACCOUNT_ID ) } "
# 笔记Tag
BEAR_TAG = "资源/微信"
# 多久扫描一次,单位是S
INTERVAL = 10
歡迎提Issue
,希望可以幫到你~