إخراج وحدة التحكم:
بيانات المادة:
معاينة 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
في التكوين بمعرف WeChatnasawatch
هنا، وليس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 Developer Tools ---- قم بالتبديل إلى علامة تبويب الشبكة ---- قم بتحديث المتصفح. ابحث عن ملفات تعريف الارتباط وbiz وappmsg_token والحقول الأخرى الموجودة على اليمين واملأها في config.json
.
تحتاج إلى التمرير لأسفل صفحة القائمة لتحميل الصفحة التالية للعثور على الطلب الذي يبدأ بـ
https://mp.weixin.qq.com/mp/profile_ext?action=getmsg
وعرض معلماته.
قد تصبح هذه الحقول غير صالحة بعد بضع ساعات، ويمكنك الحصول عليها مرة أخرى باتباع الخطوات المذكورة أعلاه.
npm start
سيتم تخزين معلومات المقالة التي تم الزحف إليها والصور وبيانات المقالة الأصلية في مجلد db في الدليل الجذر للمشروع.