เอาต์พุตคอนโซล:
ข้อมูลบทความ:
ตัวอย่าง HTML:
ในปัจจุบัน มีการรองรับสองวิธีสำหรับการรวบรวมข้อมูลบทความ
ติดตามบทความผ่านผลการค้นหา Sogou WeChat
ข้อดี: วิธีนี้ไม่ต้องการการรับรองความถูกต้องในการเข้าสู่ระบบและใช้งานง่าย
ข้อเสีย: สามารถบันทึกข้อมูลได้เพียง 10 ชิ้นสุดท้ายเท่านั้น
สถานการณ์การใช้งาน: เหมาะสำหรับการกำหนดค่างานการรวบรวมข้อมูลตามกำหนดเวลาเพื่อรับข้อมูลจำนวนมาก
สกัดกั้นพารามิเตอร์คำขอ Ajax ของรายการบทความบัญชีสาธารณะ WeChat และจำลองไคลเอนต์ WeChat เพื่ออ่านรายการบทความและข้อมูลบทความ
ข้อดี: สามารถรับข้อมูลบทความทั้งหมดของบัญชีสาธารณะได้
ข้อเสีย: คุณต้องเข้าสู่ระบบ WeChat และตั้งค่าพารามิเตอร์ด้วยตนเอง เช่น คุกกี้ผ่านเครื่องมือก่อนจึงจะสามารถใช้งานได้
สถานการณ์การใช้งาน: บันทึกข้อมูลบัญชีสาธารณะจำนวนมากในคราวเดียว และอัปเดตข้อมูลด้วยวิธี 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
ในการกำหนดค่าควรกรอกด้วย WeChat IDnasawatch
ที่นี่ ไม่ใช่NASA爱好者
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 เพื่อเปิดหน้าข้อความประวัติ
เปิด URL http://127.0.0.1:9222/json
โดยใช้เบราว์เซอร์ Chrome
คัดลอกช่อง URL และเปิดในแท็บใหม่ แล้วคุณจะเห็นหน้าข้อความประวัติที่ถูกต้อง
4. ในหน้าข้อความประวัติ คลิกขวา ---- ตรวจสอบ เปิดเครื่องมือสำหรับนักพัฒนา Chrome ---- สลับไปที่แท็บเครือข่าย ---- รีเฟรชเบราว์เซอร์ ค้นหาคุกกี้, biz, appmsg_token และช่องอื่นๆ ทางด้านขวาแล้วกรอกลงใน config.json
คุณต้องเลื่อนหน้ารายการลงเพื่อโหลดหน้าถัดไปเพื่อค้นหาคำขอที่ขึ้นต้นด้วย
https://mp.weixin.qq.com/mp/profile_ext?action=getmsg
และดูพารามิเตอร์ของมัน
ช่องเหล่านี้อาจใช้ไม่ได้หลังจากผ่านไป 2-3 ชั่วโมง และคุณสามารถรับช่องเหล่านี้ได้อีกครั้งโดยทำตามขั้นตอนข้างต้น
npm start
ข้อมูลบทความ รูปภาพ และข้อมูลบทความต้นฉบับที่รวบรวมข้อมูลจะถูกจัดเก็บไว้ในโฟลเดอร์ db ในไดเร็กทอรีรากของโปรเจ็กต์