People can easily gather and scrape information from multiple sources such as Facebook, Reddit, and Twitter. You can think of a scraper as a specialized tool that extracts data from a web page accurately and quickly. The scraping APIs help the scrapers avoid getting banned by anti-scraping techniques that the websites place. However, it is
يمكن للأشخاص بسهولة جمع المعلومات وكشطها من مصادر متعددة مثل Facebook و Reddit و Twitter. يمكنك التفكير في مكشطة كأداة متخصصة تستخرج البيانات من صفحة ويب بدقة وسرعة. تساعد واجهات برمجة تطبيقات الكشط الكاشطات على تجنب الحظر من خلال تقنيات مكافحة الكشط التي تضعها مواقع الويب. ومع ذلك ، فإن استخدام واجهات برمجة التطبيقات مكلف مقارنة بأداة الوكيل التي تديرها بنفسك.
هل استخدمت رديت؟ إذا كنت باحثا اجتماعيا وتقضي الكثير من الوقت على الإنترنت ، فمن المحتمل أنك سمعت عن Reddit. تصف Reddit نفسها بأنها "الصفحة الأولى للإنترنت". إنه منتدى مناقشة عبر الإنترنت حيث يشارك الأشخاص المحتوى والأخبار أو يعلقون على مشاركات الآخرين. لذلك ، فهو مصدر لا يصدق للبيانات للمسوقين عبر الإنترنت والباحثين الاجتماعيين.
يحتوي Reddit على واجهة برمجة تطبيقات تسمى Python Reddit API Wrapper ، مختصرة ل PRAW ، للزحف إلى البيانات. في هذه المدونة ، سأوضح لك خطوات حول كيفية كشط Reddit باستخدام python. ولكن قبل ذلك ، عليك أن تعرف لماذا يتعين عليك كشط Reddit.
إذا تحدثنا عن تصميم Reddit ، تقسيمه إلى عدة مجتمعات تعرف باسم "subreddits". يمكنك العثور على أي subreddit لموضوع اهتمامك على الإنترنت. يقوم الباحثون الاجتماعيون بإجراء التحليل وإجراء الاستدلالات وتنفيذ خطط قابلة للتنفيذ عند استخراج مناقشات Reddit لموضوع معين.
يمكنك كشط الكثير من نقاط البيانات من Reddit ، مثل:
يمكنك كشط أي معلومات من Reddit ذات صلة بعملك بسبب الاحتياجات التالية:
على سبيل المثال،
يستخدم تجريف Reddit كاشطات الويب (برامج الكمبيوتر) لاستخراج البيانات المتاحة للجمهور من موقع Reddit على الويب. تحتاج إلى استخدام كاشطات Reddit بسبب القيود التي لا بد أن تواجهها عند استخدام واجهة برمجة تطبيقات Reddit الرسمية. ومع ذلك ، إذا كنت تستخدم مكشطة الويب التي لا تستخدم واجهة برمجة تطبيقات Reddit لاستخراج البيانات من Reddit ، فسوف تنتهك شروط استخدام Reddit. لكن هذا لا يعني أن تجريف الويب غير قانوني.
للحصول على جلسة كشط خالية من العوائق ، سيتعين عليك التهرب من أنظمة مكافحة الكشط التي وضعها Reddit. تقنيات مكافحة الكشط الأكثر شيوعا التي يستخدمها Reddit هي:
يمكنك حل مشكلة تتبع IP بمساعدة الوكلاء وتناوب IP. من ناحية أخرى ، يمكنك حل مشكلة Captcha باستخدام Captcha يحل مثل 2Captcha.
هناك خمس طرق لكشط Reddit ، وهي:
دعونا نرى كيف يمكننا كشط Reddit باستخدام واجهة برمجة تطبيقات Reddit بمساعدة الخطوات التالية.
تحتاج إلى إنشاء حساب Reddit قبل المضي قدما. لاستخدام PRAW ، يجب عليك التسجيل في واجهة برمجة تطبيقات Reddit باتباع هذا الرابط.
أولا ، سنقوم باستيراد وحدات Pandas المدمجة ، أي ، والتاريخ والوقت ، ووحدتين تابعتين لجهة خارجية ، PRAW و Pandas ، كما هو موضح أدناه:
استيراد الزحف
استيراد الباندا ك PD
استيراد التاريخ والوقت ك DT
يمكنك الوصول إلى بيانات Reddit باستخدام Praw ، والتي تعني Python Reddit API Wrapper. أولا ، تحتاج إلى الاتصال ب Reddit عن طريق الاتصال ب praw. وظيفة Reddit وتخزينها في متغير. بعد ذلك ، يجب عليك تمرير الوسيطات التالية إلى الوظيفة.
رديت = جراو. رديت(client_id='PERSONAL_USE_SCRIPT_14_CHARS', \
client_secret='SECRET_KEY_27_CHARS ', \
user_agent='YOUR_APP_NAME', \
اسم المستخدم = 'YOUR_REDDIT_USER_NAME', \
كلمة المرور = 'YOUR_REDDIT_LOGIN_PASSWORD')
الآن ، يمكنك الحصول على subreddit من اختيارك. لذلك ، اتصل بمثيل .subreddit من reddit (متغير) ، وقم بتمرير اسم subreddit الذي تريد الوصول إليه. على سبيل المثال ، يمكنك استخدام r / Nootropics subreddit.
subreddit = reddit.subreddit ('نوتروبيكس')
يحتوي كل subreddit على خمس طرق مختلفة أدناه لتنظيم الموضوعات التي أنشأها Redditors:
يمكنك الحصول على أكثر الموضوعات التي تم التصويت عليها على النحو التالي:
top_subreddit = subreddit.top()
ستحصل على كائن يشبه القائمة يحتوي على أفضل 100 عملية إرسال في r / Nootropics. ومع ذلك ، فإن حد طلب Reddit هو 1000 ، لذا يمكنك التحكم في حجم العينة عن طريق تمرير حد إلى .top على النحو التالي:
top_subreddit = subreddit.top (الحد = 600)
يمكنك كشط أي بيانات تريدها. ومع ذلك ، سنقوم بكشط المعلومات أدناه حول الموضوعات:
سنفعل ذلك عن طريق تخزين بياناتنا في قاموس ثم استخدام حلقة for كما هو موضح أدناه.
topics_dict = { "title":[], \
"score":[], \
"id":[], "url":[], \
"created": [], \
"body":[]}
الآن ، يمكننا كشط البيانات من واجهة برمجة تطبيقات Reddit. سنقوم بإلحاق المعلومات بقاموسنا من خلال التكرار من خلال كائن top_subreddit الخاص بنا.
للتقديم في top_subreddit:
topics_dict["id"].append(submission.id)
topics_dict["العنوان"].append(submission.title)
topics_dict["النتيجة"].إلحاق (تقديم.النتيجة)
topics_dict["تم إنشاؤه"].append(submission.create)
topics_dict["body"].append(submission.selftext)
الآن ، نضع بياناتنا في Pandas Dataframes لأن قواميس Python ليست سهلة القراءة.
topics_data = pd. إطار البيانات(topics_dict)
من السهل جدا إنشاء ملفات بيانات بتنسيقات مختلفة في Pandas ، لذلك نستخدم الأسطر التالية من التعليمات البرمجية لتصدير بياناتنا إلى ملف CSV.
topics_data.to_csv ('FILENAME.csv'، index=False)
أنت تعلم أن Reddit ليس موقعا صارما عندما يتعلق الأمر بقيود استخدام الوكيل. ولكن يمكن القبض عليك ومعاقبتك إذا قمت بأتمتة أفعالك على Reddit دون استخدام الوكلاء.
لذلك ، دعونا نلقي نظرة على بعض من أفضل وكلاء Reddit الذين ينقسمون إلى فئتين:
الوكلاء السكنيون - هذه هي عناوين IP التي يعينها موفر خدمة الإنترنت (ISP) لجهاز في موقع فعلي معين. تكشف هذه الوكلاء عن الموقع الفعلي للجهاز الذي يستخدمه المستخدم لتسجيل الدخول إلى موقع ويب.
وكلاء مركز البيانات - هذه هي عناوين IP المختلفة التي لا تنشأ من أي مزود خدمة إنترنت. نحصل عليها من مزود خدمة سحابية.
فيما يلي بعض من أفضل الوكلاء السكنيين ومراكز البيانات ل Reddit.
Smartproxy هي واحدة من أفضل مزودي البروكسي السكني المتميز لأنها فعالة لأتمتة Reddit. يحتوي على مجموعة IP واسعة النطاق ويوفر الوصول إلى جميع عناوين IP بمجرد الاشتراك في خدمته.
التسعير وعرض النطاق الترددي غير المحدود ل Stormproxies يجعلها خيارا جيدا. فهي بأسعار معقولة ورخيصة للاستخدام. لديهم وكلاء لحالات الاستخدام المختلفة ويوفرون أفضل الوكلاء السكنيين لأتمتة Reddit.
ProxyScrape هو أحد مزودي خدمة البروكسي المشهورين الذين يركزون على تقديم وكلاء للكشط. كما يوفر بروكسيات مخصصة لمراكز البيانات جنبا إلى جنب مع وكلاء مراكز البيانات المشتركة. يحتوي على أكثر من 40 ألف وكيل لمركز البيانات يمكنك استخدامه لكشط البيانات من مواقع الويب على الإنترنت.
ProxyScrape يوفر ثلاثة أنواع من الخدمات لمستخدميه ، أي ،
تعمل Highproxies مع Reddit ولديها الفئات التالية من الوكلاء:
يمكنك أيضا استخدام Instantproxies لأتمتة Reddit لأنها آمنة للغاية وموثوقة وسريعة ولديها وقت تشغيل يبلغ حوالي 99.9 بالمائة. هم أرخص من جميع وكلاء مراكز البيانات.
أنت بحاجة إلى وكلاء عندما تعمل مع بعض الأدوات التلقائية على Reddit. ذلك لأن Reddit هو موقع ويب حساس للغاية يكتشف بسهولة الإجراءات التلقائية ويمنع عنوان IP الخاص بك من الوصول إلى النظام الأساسي. لذلك ، إذا كنت تقوم بأتمتة بعض المهام مثل الأصوات والمشاركات والانضمام / إلغاء الانضمام إلى المجموعات وإدارة أكثر من حساب واحد ، فأنت بالتأكيد بحاجة إلى استخدام الوكلاء لتجنب النتائج السيئة.
يمكنك الذهاب إلى الكشط اليدوي إذا كانت متطلبات تجريف Reddit صغيرة. ولكن إذا أصبحت المتطلبات كبيرة ، فيجب عليك الاستفادة من منهجيات الكشط الآلي مثل أدوات تجريف الويب والبرامج النصية المخصصة. تثبت كاشطات الويب أنها فعالة من حيث التكلفة والموارد عندما تكون متطلبات الكشط اليومية في حدود بضعة ملايين من المنشورات.
لذلك ، دعونا نلقي نظرة على بعض من أفضل كاشطات Reddit كأفضل حل لكشط كميات كبيرة من بيانات Reddit.
Scrapestorm هي واحدة من أفضل أدوات الكشط المتوفرة في السوق لأنها تعمل بشكل رائع عندما يتعلق الأمر بكشط Reddit. يستخدم الذكاء الاصطناعي لتحديد نقاط البيانات الرئيسية على صفحة الويب تلقائيا.
تسهل مكشطة Reddit من Apify استخراج البيانات دون استخدام واجهة برمجة تطبيقات Reddit. هذا يعني أنك لست بحاجة إلى رمز مميز لواجهة برمجة تطبيقات المطور وتفويض من Reddit لتنزيل البيانات للاستخدام التجاري. يمكنك أيضا تحسين الكشط باستخدام خدمة الوكيل المتكاملة لمنصة Apify.
ناقشنا خمس طرق لكشط بيانات Reddit ، وأسهلها هو استخدام Reddit API لأنه لا يتطلب سوى مهارات الترميز الأساسية. PRAW هو غلاف Python لواجهة برمجة تطبيقات Reddit التي تمكنك من استخدام واجهة برمجة تطبيقات Reddit مع واجهة Python نظيفة. ولكن عندما يكون لديك متطلبات تجريف Reddit كبيرة ، يمكنك استخراج البيانات المتاحة للجمهور من موقع Reddit على الويب بمساعدة كاشطات Reddit. لأتمتة إجراءاتك على موقع Reddit ، تحتاج إلى استخدام مركز بيانات أو وكلاء سكنيين.