Keluaran konsol:
Data artikel:
Pratinjau HTML:
Saat ini, dua metode didukung untuk merayapi artikel.
Tangkap artikel melalui hasil pencarian Sogou WeChat.
Keuntungan: Metode ini tidak memerlukan otentikasi login dan mudah dioperasikan.
Kekurangan: Hanya 10 data terakhir yang dapat diambil.
Skenario penggunaan: Cocok untuk mengonfigurasi tugas perayapan terjadwal untuk mendapatkan data dalam jumlah besar.
Cegat parameter permintaan Ajax dari daftar artikel akun publik WeChat, dan simulasikan klien WeChat untuk membaca daftar artikel dan informasi artikel.
Keuntungan: Dapat memperoleh semua data artikel akun publik.
Kekurangan: Anda harus masuk ke WeChat dan mengatur parameter seperti cookie secara manual melalui alat sebelum Anda dapat menggunakannya.
Skenario penggunaan: Ambil data akun publik dalam jumlah besar sekaligus, dan perbarui data dengan metode Sogou setelah pengambilan selesai.
NodeJS & NPM, browser Chrome, klien desktop WeChat (baik Mac atau Windows)
git clone [email protected]:f111fei/article_spider.git
cd article_spider
npm install typescript -g
npm install
tsc
Atur file config.json
di direktori root proyek. Bidang didefinisikan sebagai berikut:
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;
};
}
Jika mode perayapannya sougou
, lewati bagian ini.
Untuk mendapatkan data permintaan Ajax dari daftar artikel, Anda perlu menangkap permintaan untuk mendapatkan data daftar artikel dan menemukan parameter kunci seperti biz, cookie, appmsg_token, dan sebagainya. Berikut cara mengambil parameter permintaan.
Ambil contoh akun publik NASA爱好者
.
1. Buka akun resmi --- pojok kanan atas --- klik untuk melihat pesan historis
Catatan: Kolom
name
di konfigurasi harus diisi dengan ID WeChatnasawatch
di sini, bukanNASA爱好者
.
2. Di jendela yang terbuka, klik Buka dengan browser default (Chrome) pada bilah menu dan gunakan Chrome untuk membuka halaman daftar artikel.
3. Jika tautan muncul saat dibuka di browser请在微信客户端打开链接。
prompt, menunjukkan bahwa URL telah dienkripsi. Silakan ikuti langkah-langkah di bawah ini untuk mendapatkan URL yang benar. Jika tidak, lewati langkah ini.
Tutup klien WeChat dan temukan lokasi program klien desktop WeChat yang dapat dijalankan. Mulai program menggunakan baris perintah:
Di Windows biasanya:
"C:Program Files (x86)TencentWeChatWeChat.exe" --remote-debugging-port=9222
Di Mac biasanya:
"/Applications/WeChat.app/Contents/MacOS/WeChat" --remote-debugging-port=9222
Ikuti langkah 1 untuk membuka halaman pesan riwayat.
Buka URL http://127.0.0.1:9222/json
menggunakan browser Chrome.
Salin bidang url dan buka di tab baru, dan Anda akan melihat halaman pesan historis yang benar.
4. Di halaman pesan riwayat, klik kanan ---- Centang, buka Alat Pengembang Chrome ---- Beralih ke tab Jaringan ---- Segarkan browser. Temukan cookie, biz, appmsg_token, dan bidang lainnya di sebelah kanan dan isi config.json
.
Anda perlu menggulir halaman daftar ke bawah untuk memuat halaman berikutnya guna menemukan permintaan yang dimulai dengan
https://mp.weixin.qq.com/mp/profile_ext?action=getmsg
dan melihat parameternya.
Bidang ini mungkin menjadi tidak valid setelah beberapa jam, dan Anda dapat memperolehnya kembali dengan mengikuti langkah-langkah di atas.
npm start
Informasi artikel yang dirayapi, gambar, dan data artikel asli akan disimpan di folder db di direktori root proyek.