كشط سعيد! ","بواسطة: ProxyScrape","اكتب للبحث هنا...","أحدث المنشورات","الشروع في استخدام الباندا: دليل خطوة بخطوة","كيفية إعداد البروكسيات على نظام التشغيل Mac ","الطريقة السهلة لزحف خرائط المواقع باستخدام بايثون","كيفية حفظ البيانات المقطوعة في جداول بيانات جوجل","الضوء proxyscrape شعار","https://proxyscrape.com/static/light_text_logo.svg","هل تبحث عن مساعدة مع وكلائنا أو
تريد المساعدة؟ إليك خياراتك:","كرانش بيس","نبذة عنا","شكراً للجميع على الدعم الرائع!","روابط سريعة","برنامج الانتساب","بريميوم","ProxyScrape تجربة متميزة","مدقق الوكلاء عبر الإنترنت","أنواع الوكلاء","الدول الوكيلة","حالات استخدام الوكيل","أفضل مزودي خدمات الوكيل السكني","مهم","سياسة ملفات تعريف الارتباط","إخلاء المسؤولية","سياسة الخصوصية","الشروط والأحكام","الوكلاء الأخلاقيون","وسائل التواصل الاجتماعي","فيسبوك","لينكد إن","تويتر","برقية","الخلاف","\n © جميع الحقوق محفوظة © 2025 - ثيب بي في | بروغسترات 18 | 2812 ميكلين | بلجيكا | ضريبة القيمة المضافة BE 0749 716 760\n"]}
لقد أصبح تجريف الويب جزءًا لا يتجزأ من عملية جمع البيانات الحديثة لمحللي البيانات ومطوري الويب ومتخصصي تحسين محركات البحث. ولكن، مع تزايد استخدام المواقع الإلكترونية لمحتوى ديناميكي وإجراءات مكافحة الروبوتات، غالبًا ما تقصر الطرق التقليدية عن تحقيق ذلك.
في هذا الدليل، سنأخذك خطوة بخطوة عبر أساسيات تجريف المواقع الإلكترونية مثل المحترفين، باستخدام Puppeteer والبروكسي. بدءًا من إعداد Puppeteer إلى التعامل مع المحتوى الديناميكي وتجاوز دفاعات مكافحة الروبوتات، سنغطي كل ذلك بأمثلة عملية.
Puppeteer هي مكتبة Node.js توفر واجهة برمجة تطبيقات عالية المستوى للتحكم في كروم أو كروم. على عكس أدوات الكشط التقليدية، تتفوق Puppeteer في عرض صفحات الويب الديناميكية ذات الجافا سكريبت الثقيلة والديناميكية. وهذا يمنحها ميزة كبيرة عند كشط المواقع الإلكترونية التي تعتمد بشكل كبير على جافا سكريبت.
ومع ذلك، فإن الكشط وحده لا يكفي. فالعديد من المواقع الإلكترونية لديها تدابير قوية لمكافحة الكشط مثل حظر بروتوكول الإنترنت أو الحد من المعدل. وهنا يأتي دور الوكلاء للمساعدة في تجاوز القيود والحفاظ على سلاسة الكشط.
للبدء، قم أولاً بتثبيت Puppeteer. افتح المحطة الطرفية وقم بتشغيل:
npm install puppeteer
بشكل افتراضي، يعمل Puppeteer افتراضيًا في مقطوع الرأس
مما يعني عدم وجود واجهة مستخدم رسومية مرئية للمتصفح. هذا الوضع مثالي لمعظم مهام الكشط، لأنه أسرع وأقل استهلاكًا للموارد. للتطوير والتصحيح، يمكنك تعطيل هذا الوضع لرؤية المتصفح أثناء العمل.
فيما يلي نص برمجي بسيط لفتح Puppeteer والانتقال إلى موقع الويب هذا الموقع
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://books.toscrape.com/');
console.log('Page loaded!');
await browser.close();
})();
بمجرد أن تفتح صفحة، فإن الخطوة التالية هي التفاعل مع DOM (نموذج كائن المستند) لاستخراج البيانات التي تحتاجها. يوفر Puppeteer العديد من الطرق للاستعلام عن عناصر صفحة الويب ومعالجتها.
باستخدام الموقع الإلكتروني "Books to Scrape" كمثال، إليك كيفية استخراج العناوين والأسعار والتوافر:
const titleSelector = 'article.product_pod h3 a';
const priceSelector = 'article.product_pod p.price_color';
const availabilitySelector = 'article.product_pod p.instock.availability';
const bookData = await page.evaluate((titleSelector, priceSelector, availabilitySelector) => {
const books = [];
const titles = document.querySelectorAll(titleSelector);
const prices = document.querySelectorAll(priceSelector);
const availability = document.querySelectorAll(availabilitySelector);
titles.forEach((title, index) => {
books.push({
title: title.textContent.trim(), // Fixed: Extract text content instead of 'title' attribute
price: prices[index].textContent.trim(),
availability: availability[index].textContent.trim()
});
});
return books;
}, titleSelector, priceSelector, availabilitySelector);
console.log(bookData);
يقوم هذا البرنامج النصي بتحديد العناصر المطلوبة من قوائم الكتب وتخزينها بتنسيق JSON، والتي يمكنك استخدامها لتحليل أعمق.
تعتمد بعض المواقع الإلكترونية على JavaScript لتحميل المحتوى ديناميكيًا. وهنا يتألق برنامج Puppeteer، حيث يمكنه التفاعل مع المحتوى الديناميكي والتعامل معه.
في مواقع الويب التي تحتوي على جافا سكريبت بكثافة، قد تواجه مشاكل في تحميل الصفحة ولكن العناصر المطلوبة غير متوفرة بعد. للتعامل مع ذلك، استخدم الأوامر التالية:
الصفحة.waitForSelectorSelector()
: انتظار ظهور عناصر محددة في DOM.الصفحة.waitForNavigation():
انتظر حتى يكتمل تصفح الصفحة.مثال على ذلك:
انتظر page.goto('https://books.toscrape.com/');
await page.waitForForSelector('article.product_pod')؛ // يضمن تحميل المحتوى بالكامل
البروكسيات ضرورية لكفاءة تجريف الويب بكفاءة، خاصة عند استهداف المواقع الإلكترونية ذات الحدود السعرية أو القيود الجغرافية.
البروكسيات ضرورية لكشط الويب لتجنب حظر بروتوكول الإنترنت والتعامل مع حدود المعدل والوصول إلى المحتوى المقيد جغرافيًا. في هذا الدليل، سوف نستخدم بروكسيات ProxyScrape السكنية عالية الجودة، والتي توفر تناوبًا موثوقًا ومجهولاً لعنوان IP من أجل تجريف فعال.
يمكنك إضافة إعدادات الوكيل عن طريق تضمين -خادم وكيل-خادم وكيل
وسيطة عند تشغيل Puppeteer:
const puppeteer = require('puppeteer');
(async () => {
const proxyServer = 'rp.scrapegw.com:6060'; // ProxyScrape residential proxy
const proxyUsername = 'proxy_username';
const proxyPassword = 'proxy_password';
// Launch Puppeteer with proxy
const browser = await puppeteer.launch({
headless: true, // Set to false if you want to see the browser
args: [`--proxy-server=http://${proxyServer}`] // Set the proxy
});
const page = await browser.newPage();
// Authenticate the proxy
await page.authenticate({
username: proxyUsername,
password: proxyPassword
});
// Navigate to a test page to check IP
await page.goto('https://httpbin.org/ip', { waitUntil: 'networkidle2' });
// Get the response content
const content = await page.evaluate(() => document.body.innerText);
console.log('IP Info:', content);
await browser.close();
})();
-خادم وكيل-خادم وكيل
تشير الوسيطة إلى الوكيل السكني ProxyScrape (rp.scrapegw.com:6060
). الصفحة.مصادقة()
يُستخدم لتمرير بيانات اعتماد الوكيل (اسم_المستخدم_الوكيل و كلمة المرور_الوكيل).يعد تجريف الويب باستخدام Puppeteer طريقة قوية لاستخراج البيانات من مواقع الويب الديناميكية، ولكن البروكسيات ضرورية لتجنب الحظر وتجاوز القيود وضمان جمع البيانات دون انقطاع. تلعب جودة البروكسيات دورًا حاسمًا في نجاح مشاريع الكشط - يمكن أن تؤديالبروكسيات منخفضة الجودةأو المستخدمة بشكل مفرط إلى حظر متكرر ونتائج غير موثوقة. لهذا السبب فإن استخدام البروكسيات السكنية عالية الجودة من ProxyScrape يضمن تجربة كشط سلسة مع تناوب موثوق لعنوان IP وإخفاء الهوية.
إذا كنت بحاجة إلى مساعدة في كشط الويب، فلا تتردد فيالانضمام إلى خادم Discord الخاص بنا حيث يمكنك التواصل مع مطورين آخرين والحصول على الدعم . ولا تنسَ أيضًا متابعتنا على يوتيوب للحصول على المزيد من البرامج التعليمية والأدلة حول كشط الويب وتكامل البروكسي.
كشط سعيد!