Bei meiner täglichen Arbeit sammle ich alle Arten von Informationen, die aus dem Internet und Life to Bear generiert werden, und nutze dann die Cloud-Synchronisierung von Bear, um die Informationen auf meinen verschiedenen Endgeräten konsistent zu halten. Als ich in der Vergangenheit Youdao Cloud Notes verwendet habe, gab es eine Funktion, die mir sehr gut gefallen hat. Wenn ich einen Artikel sah, den ich sammeln wollte, konnte ich ihn in der oberen rechten Ecke direkt an Youdao Cloud Notes senden.
Das Bedürfnis, mit dem ich jetzt konfrontiert bin, ist, ob ich, wenn ich einen Artikel sehe, der mir gefällt, den Artikel direkt mit Bear
auf jedem meiner Terminals synchronisieren kann, indem ich auf die obere rechte Ecke klicke,分享一下
. Der Endeffekt ist wie folgt:
Um die oben genannten Anforderungen zu erfüllen, habe ich wahrscheinlich über die folgenden Lösungen nachgedacht:
Bereiten Sie ein WeChat-Konto vor (hier direkt Trompete genannt), um Artikel zu erhalten, die in Bear gesammelt werden sollen
Schreiben Sie einen Dienst, um die Nachrichten der Trompete zu überwachen. Wenn Sie beispielsweise eine Nachricht vom Typ Tweet erhalten, wird der Inhalt extrahiert.
Der Überwachungsdienst sendet den extrahierten Inhalt an Bear (dafür muss der Dienst unter Mac OS ausgeführt werden).
Bevor Sie fortfahren, benötigen Sie Folgendes:
Grundlegende Python-Grundlagen (das Schreiben kleiner Skripte in Python ist wirklich praktisch)
Ein Mac OS mit installiertem Bear
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
Bitte ermitteln Sie zunächst die folgenden Konstanten, wie sie bei der Verwendung von WeChat zum Synchronisieren von Artikeln mit Bear erwähnt wurden:
S_ACCOUNT_ID: WeChat sendet eine Konto-ID, die unter Account/userinfo.data
eingesehen werden kann
R_ACCOUNT_ID: WeChat-Empfangskonto-ID, wie oben
RAW_KEY: Entschlüsselungsschlüssel, die oben eingeführte 64-Bit-Zeichenfolge
DB_PATH_TEM: Definiert den Nachrichten-DB-Pfad, zum Beispiel: „/Users/howie6879/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/2.0b4.0.9/{0}/Message /"
Das entsprechende ist die Konfiguration in 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
Willkommen, wenn Sie Issue
ansprechen möchten. Ich hoffe, es kann Ihnen helfen