أفضل زاحف الرسم البياني على شبكة الإنترنت للسرعة؟

StackOverflow https://stackoverflow.com/questions/3424027

  •  26-09-2019
  •  | 
  •  

سؤال

خلال الشهر الماضي ، كنت أستخدم Scrapy لمشروع تزحف على الويب الذي بدأت فيه.

يتضمن هذا المشروع سحب محتوى المستند الكامل لجميع صفحات الويب في اسم مجال واحد يمكن الوصول إليه من الصفحة الرئيسية. كانت كتابة هذا باستخدام SCRAPY أمرًا سهلاً للغاية ، لكنه ببساطة يعمل ببطء شديد. في 2-3 أيام ، لا يمكنني سوى سحب 100000 صفحة.

لقد أدركت أن نظيرتي الأولية بأن Scrapy لا يعني أن هذا النوع من الزحف يكشف عن نفسه.

لقد بدأت في تركيز أنظاري على Nutch و الميثابوت على أمل أداء أفضل. البيانات الوحيدة التي أحتاج إلى تخزينها أثناء الزحف هي المحتوى الكامل لصفحة الويب ويفضل أن يكون جميع الروابط على الصفحة (ولكن حتى يمكن القيام بذلك في معالجة ما بعد المعالجة).

أنا أبحث عن زاحف سريع ويستخدم العديد من الطلبات المتوازية.

هل كانت مفيدة؟

المحلول

هذا خطأ بلدي الخادم وليس scrapy. قد لا يكون الخادم سريعًا كما تريد أو قد يكون (أو مدير المواقع) يكتشف الزحف ويحد من سرعة هذا الاتصال/ملف تعريف الارتباط. هل تستخدم الوكيل؟ هذا قد يتباطأ الزحف أيضا. قد تكون هذه حكمة Scrapy ، إذا كنت ستزحف مكثفًا جدًا ، فقد تحصل على حظر على هذا الخادم. لبلدي C ++ الزاحف المكتوبة بخط اليد أنا حدد بشكل مصطنع طلب 1 في الثانية. ولكن هذه السرعة كافية لخيط واحد (1 req * 60 ثانية * 60 دقيقة * 24 ساعة = 86400 Req / Day). إذا كنت مهتمًا ، فيمكنك كتابة بريد إلكتروني إلى whalebot.helmsman {في} gmail.com.

نصائح أخرى

يتيح لك Scrapy تحديد عدد الطلبات المتزامنة والتأخير بين الطلبات في إعداداتها.

هل تعرف أين هو عنق الزجاجة؟. كما أشار Whalebot.helmsman ، قد لا يكون الحد على Scrapy نفسه ، ولكن على الخادم الذي تزحفه.

يجب أن تبدأ بمعرفة ما إذا كان عنق الزجاجة هو الشبكة أو وحدة المعالجة المركزية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top