コンソール出力:
記事データ:
HTML プレビュー:
現在、記事のクロールには 2 つの方法がサポートされています。
Sogou WeChat の検索結果から記事をキャッチします。
メリット:ログイン認証が不要で操作が簡単です。
欠点: 最新の 10 個のデータのみをキャプチャできます。
使用シナリオ: 大量のデータを取得するためにスケジュールされたクロール タスクを構成するのに適しています。
WeChat パブリック アカウントの記事リストの Ajax リクエスト パラメーターをインターセプトし、WeChat クライアントをシミュレートして記事リストと記事情報を読み取ります。
メリット:公開アカウントの全記事データを取得できる。
短所: WeChat を使用する前に、WeChat にログインし、ツールを使用して Cookie などのパラメータを手動で設定する必要があります。
使用シナリオ: 大量のパブリック アカウント データを一度にキャプチャし、キャプチャ完了後に Sogou メソッドでデータを更新します。
NodeJS および NPM、Chrome ブラウザ、WeChat デスクトップ クライアント (Mac または Windows)
git clone [email protected]:f111fei/article_spider.git
cd article_spider
npm install typescript -g
npm install
tsc
config.json
ファイルをプロジェクトのルート ディレクトリに設定します。フィールドは次のように定義されます。
interface Config {
// 必填,要抓取的微信公众号名称。
name: string;
// 可选,若快打码平台的账号密码。用于搜狗抓取模式下自动识别验证码。
ruokuai: {
username: string;
password: string;
};
wechat: {
// 可选,要抓取文章的起始页,默认0
start?: number;
// 可选,要抓取的文章数,默认不限制
maxNum?: number;
// 可选,抓取模式(sougou, all)。默认all
mode?: string;
// 抓取模式为all时有效,公众号的biz字段,获取方法参见下面
biz?: string;
// 抓取模式为all时有效,当前cookie字段,获取方法参见下面
cookie?: string;
// 抓取模式为all时有效,当前appmsg_token字段,获取方法参见下面
appmsg_token?: string;
};
}
クロール モードがsougou
場合は、このセクションをスキップしてください。
記事リストの Ajax リクエスト データを取得するには、記事リスト データを取得するリクエストをキャプチャし、biz、cookie、appmsg_token などの主要なパラメーターを見つける必要があります。リクエストパラメータを取得する方法は次のとおりです。
NASA爱好者
の公開アカウントを取得することを例に挙げます。
1. 公式アカウントを開きます --- 右上隅 --- をクリックして履歴メッセージを表示します
注: 設定の
name
フィールドには、NASA爱好者
ではなく、WeChat IDnasawatch
を入力する必要があります。
2. 開いたウィンドウで、メニューバーの「デフォルトのブラウザ(Chrome)で開く」をクリックし、Chromeを使用して記事一覧ページを開きます。
3. ブラウザで開いたときにリンクが表示された場合は请在微信客户端打开链接。
URL が暗号化されていることを示すプロンプトが表示されます。正しい URL を取得するには、次の手順に従ってください。それ以外の場合は、この手順をスキップしてください。
WeChat クライアントを閉じて、WeChat デスクトップ クライアントの実行可能プログラムの場所を見つけます。コマンドラインを使用してプログラムを開始します。
Windows では通常、次のようになります。
"C:Program Files (x86)TencentWeChatWeChat.exe" --remote-debugging-port=9222
Mac では通常次のようになります。
"/Applications/WeChat.app/Contents/MacOS/WeChat" --remote-debugging-port=9222
手順 1 に従って、履歴メッセージ ページを開きます。
Chrome ブラウザを使用して URL http://127.0.0.1:9222/json
を開きます。
URL フィールドをコピーして新しいタブで開くと、正しい履歴メッセージ ページが表示されます。
4. 履歴メッセージ ページで右クリック ---- 確認し、Chrome 開発者ツールを開きます ---- [ネットワーク] タブに切り替えます ---- ブラウザを更新します。右側で cookie、biz、appmsg_token、およびその他のフィールドを見つけて、 config.json
に入力します。
https://mp.weixin.qq.com/mp/profile_ext?action=getmsg
で始まるリクエストを見つけてそのパラメータを表示するには、リスト ページを下にスクロールして次のページをロードする必要があります。
これらのフィールドは数時間後に無効になる場合がありますが、上記の手順に従って再取得できます。
npm start
クロールされた記事情報、画像、元記事データはプロジェクトルートディレクトリのdbフォルダに保存されます。