微信公眾號文章下載工具
此倉庫已停止維護,感謝使用。
能來github 的,我預設都是友善的技術人員。大家提issues 前,請確保你已經按照下面的說明正確安裝證書。在issues 中詳細描述清楚你的環境(系統版本、軟體版本、資料庫版本等)和遇到的問題,並附上日誌(設定中心->開啟日誌位置)
參考:提問的智慧
Electron + Typescript + VUE3
取得微信公號文章列表,需要3 個特殊參數:
_biz:公眾號的id
uin:微信用戶的ID
key:不知道是啥
這3 個參數透過http 代理獲取,剩下的就是普通爬蟲的做法了
單篇文章下載
直接輸入鏈接,點擊下載按鈕即可
此方式無需登入微信,也因此無法取得評論和文章中QQ音樂音頻,如需要這兩樣數據,請使用批量下載或監控下載
大量下載
自動安裝(僅限window系統)
需要管理員權限(右鍵點選軟體圖示-> 以管理員身分執行)
設定中心→ 安裝證書
手動安裝
設定中心→ 開啟憑證路徑→ 開啟rootCA.crt文件
初次使用請安裝證書,
需要安裝電腦版微信
點擊批量下載按鈕,開始監聽微信公號數據
在電腦版微信開啟一篇需要下載的公號的文章
回到WechatDownload,會彈框提示
監控下載
需要安裝電腦版微信
在WechatDownload點擊監控下載按鈕(按鈕會變成顏色)
在電腦版微信開啟需要下載的文章(可以開啟多篇文章)
回到WechatDownload,再次點擊監控下載按鈕即可開始下載
儲存至MySql
需要執行/doc/mysql.sql 檔案中的SQL 語句建立表
執行緒配置
時間間隔:單位是毫秒,假設時間間隔500,單線程是下載完一篇文章,等待500毫秒再繼續下載。多執行緒就是每500毫秒非同步下載文章,無需等待上一篇文章下載完成。
單批數量:假設單批數量10,每次會同時非同步下載10篇文章,等待這10篇下載完成,再繼續下載10篇。
過濾規則
目前支援對標題和作者進行關鍵字過濾
{"title": {"include": ["包含關鍵字1", "包含關鍵字2"],"exclude": ["排除關鍵字1","排除關鍵字2"] },"auth": {"include": ["包含關鍵字1", "包含關鍵字2"],"exclude": ["排除關鍵字1", "排除關鍵字2"] } }
舉例子,如果需要作者是張三並且標題包含好人,那就是
{"title": {"include": ["好人"] },"auth": {"include": ["張三"] } }
生成Epub
支援透過HTML 檔案產生Epub 電子書,所以使用需要先使用批次下載將公眾號文章儲存到本地,再產生Epub
使用參數如下
檔案名稱:必要參數。例如填寫test ,最後就會產生test.epub文件
資料夾:必要參數。保存了HTML 檔案的資料夾,也就是Epub 的資料來源
封面圖片:Epub 檔案的封面圖片,支援jpg、png 格式
設定中心有啥就支持啥
支援選擇下載範圍
將網頁抓換成HTML、Markdown、PDF
將網頁原始碼儲存至Mysql(下載來源是網路才有效)
下載圖片、音訊到本地
新增原文連結、元資料(作者、時間、公號名)
跳過現有文章
下載評論
下載來源(此選項只影響批量下載):
網路:就是從微信介面取得文章
資料庫:如果選擇了儲存至Mysql選項,資料庫中會儲存文章的網頁原始碼,此時若需要將原始碼轉換成HTML、Markdown ,選擇下載來源就是資料庫即可。 (微信介面用得多會被限制)
$ npm install
$ npm run dev
# For windows$ npm run build:win# For macOS$ npm run build:mac# For Linux$ npm run build:linux
感謝JetBrains 提供的開源開發許可證