شعار proxyscrape داكن

كيف أصبحت "مليونيرًا" رائدًا "مليونير"

فبراير 05 فبراير 20245 دقائق للقراءة

~ حكاية تجريف الويب بواسطة آريا - مستخدم ProxyScrape

فقط لأكون واضحًا، أنا مطالب بإخلاء المسؤولية بأنني لست ممثلًا رسميًا لشركة ProxyScrape. ومع ذلك، فأنا من كبار المعجبين والعملاء لخدماتهم. إذا لم تكن تستخدم خدماتهم بالفعل، أنصحك بشدة أن تفعل ذلك! الآراء والأفكار التالية تخصني بالكامل.

"أوه $!^ ^، لا توجد طريقة"

هذا هو نفس الشعور الذي وجدت نفسي أتمتم به في الساعة الثالثة صباحاً، وأنا أتصارع مع إدراك أن شركة كانت في يوم من الأيام عصرية مثل توصيل الحليب، وهو أمر قد ينسبه معظم الناس إلى عصر موسيقى الديسكو وأزياء النيون الجامحة تلك، لا تزال تتجول في كل مكان مثل قصة شعر سيئة من الثمانينيات - وللأسف، فهي موجودة في كل مكان.

كانت هذه الشركة الصفقة الحقيقية في أوجها. لم يكن بإمكانك الهروب منها في أوجها. أما الآن، فلا يُذكر اسمها إلا بلمحة من الحنين إلى الماضي في دور المتقاعدين.

"الصفحات الصفراء"

You might be wondering, “Why does this matter? Why should anyone give a damn? Why is this not a 30s TikTok with a dude playing GTA 5 on the other half of it?” Well, one of the hottest uses for web scraping is lead discovery and generation. In our capitalist wonderland where everyone’s peddling some crazy sh*t, it just makes sense to scour the internet for the suckers who’ll “HODL” and “FOMO” into your crypto timeshare that’s shaped like “half a rhombus”. And hey, just to be clear, “it’s NOT a pyramid scheme… it’s just shaped like those famous pointy things in Egypt.”

So, here’s the kicker. One of the absolute gems for B2B lead generation, in my humble opinion, is none other than YellowPages (or Yell for you “chewsday” people). Why? Well, let me break it down:

"جدار العار": أولئك البقايا الذين لم يلحقوا بعصر الإنترنت تمامًا لا يزالون معلقين هناك. من المحتمل أن يكون عمل جدك التجاري موجودًا هناك، تمامًا مثل شركة SMMA التي بدأتها بسبب TikToks وأقسمت على تركها في غضون ثلاثة أشهر، والتي خلدت الآن في أدلة الأعمال التجارية في جوجل.

"أنا لست مثل الفتيات الأخريات": في حين أن الكاشطين الجدد يعتقدون أن خرائط جوجل هي الكأس المقدسة للأعمال التجارية الصغيرة، إلا أن كل كاشط ذكي يعرف أن هذا هراء - فهي مشبعة بالحيوية والذكاء، فكل شاب في الرابعة عشرة من عمره مستوحى من رجل أصلع معين قد تحرش بتلك الأعمال التجارية.

"مثل أخذ الحلوى من طفل رضيع": إن مواقع YellowPages ومشتقاتها على الويب بدون أي حماية. يمكنني كشط كل نشاط تجاري في دليلهم في غضون ثوانٍ. نحن نتحدث عن عشرات الملايين من العملاء المحتملين هنا.

بالتأكيد، قد لا تكون الكلمة الأكثر رواجًا في دوائر التسويق، ولكن هنا تكمن الفرصة. فبينما يطارد الآخرون أحدث الاتجاهات، تدرك القلة الذكية الإمكانات الكامنة في الزوايا المنسية من الإنترنت. قد تكون الصفحات الصفراء من مخلفات الماضي، ولكن في عالم توليد العملاء المحتملين، فهي مخلفات ذات إمكانات غير مستغلة وخارطة طريق للنجاح.

والآن، ربما تتساءل، "كيف يمكنني الاستفادة من هذه الفرصة؟ - دعونا نتناول كل خطوة معًا، ونأمل أن يتمكن بعضكم أيها البدائيون من التخلص من الصفحات الصفراء بنهاية هذا المقال.

سنتعامل مع هذا الأمر كما نتعامل مع أي موقع إلكتروني آخر. الخطوة الأولى هي معرفة كيفية عمل الموقع الإلكتروني. يتطلب هذا عادةً منك، نعم، أنت، معرفة كيفية التنقل إلى حيث توجد تلك البيانات المثيرة. كيف تتوقع استخراج البيانات إذا لم تتمكن من العثور عليها؟

Shown Above: YellowPages Canada’s landing page, the unfortunate victim of this post.

كما ترى أعلاه على صفحتهم المقصودة، هناك مدخلان نصيان - أحدهما لمصطلح البحث والآخر للموقع. لنملأ هذين المدخلين ونجري بحثاً؛ سأبحث عن "أطباء أسنان" في "تورونتو، أونتاريو".

Shown Above: YellowPages Canada’s listing results page.

بمجرد أن تكتشف أبجدياتك وتملأها وتتمكن من تحديد موقع زر البحث والنقر عليه (أنا مندهش)، يجب أن تتم إعادة توجيهك إلى صفحة مثل تلك المذكورة أعلاه والتي تحتوي على مسار مثل التالي:

/search/si/1/أطباء الأسنان/تورونتو+أون

يمكننا استنتاج بنية المسار التالية (سيكون هذا مفيدًا لاحقًا):


/ بحث/بحث/[رقم الصفحة]/[رقم الصفحة]/[مصطلح البحث]/[المنطقة]+[رمز المنطقة]

شيء آخر يجب ملاحظته، لقد حددنا بالفعل البيانات التي نريدها، قوائم الأعمال - دعنا نكتشف من أين يتم تحميل قوائم الأعمال هذه، يجب أن يتم إرسالها داخل المستند أو جلبها من نقطة نهاية واجهة برمجة التطبيقات (أو إذا كنت متقلب المزاج، وصدقني لقد رأيت ذلك - الويب بوكيتس).

الموضح أعلاه: طلبات الإحضار/XHR الصادرة من الصفحة. (المفسد: البيانات ليست في أي منها).

الموضحة أعلاه: قوائم الأعمال داخل المستند. (OMGEEE كانت البيانات في الواقع داخل المستند).

As we sifted through the API requests, looking for the data, it was proven futile. We then turned our attention to the HTML. Now, here’s a little nugget of insight for you – after “navigating the digital landscape for over a decade”, I knew instinctively that the data was within the document, thanks to the pages’ snappy responsiveness.

لنكن واقعيين. نظراً لمكانة YellowPages كشركة لدليل الهاتف تسعى بيأس إلى تحقيق الأهمية، والأهم من ذلك، إلى تحقيق الإيرادات، فمن غير المحتمل أن يتباهوا بأحدث التقنيات. ففرص توظيفهم لمطوّرين يتباهون بالقمصان ولديهم خمسون تطبيقاً قائماً على React في سيرتهم الذاتية ضئيلة إلى معدومة. لذا، هل نحن مصدومون حقاً من أن صفحة الويب ثابتة؟

ومع ذلك، يتم تضمين القوائم داخل الصفحة داخل قسم، يمكن استخراجه باستخدام المحدد "div.resultList". كل قائمة على حدة، متداخلة بشكل ملائم داخل العنصر المذكور أعلاه، يمكن استخراجها باستخدام المحدد div[itemtype="http://schema.org/LocalBusiness] 

سأتركك لتعرف كيف تستخرج البيانات بشكل فردي خارج هذا المستوى من التفصيل؛ وإلا سنظل هنا إلى الأبد. استخدم سمة "itemprop" - يجب أن تسهل عليك العملية بشكل كبير.

Now, to automate extraction: You should paginate through the results using the URL (recall the path structure we discussed earlier), extracting elements and data from each page until you hit an empty page. I personally opted to use Rust for this project as it’s fast and provides easy parallelization (which will be important in a second), leveraging the “reqwest” and “select” crates to handle the heavy lifting. And here’s a few pro tips: remember to rotate your user agent, set your referrer correctly, use a proxy, and PLEASE don’t DDOS them.

الموضح أعلاه: صفحة النتائج الفارغة لصفحة نتائج YellowPages.

Your script should be good to go now. But how can we elevate this even further? Let’s put our singular combined brain cell to work and ponder… “Do we need to sequentially request each page?” Absolutely not. YellowPages makes it remarkably easy for us to parallelize this process by providing the number of pages available for the query – hint, hint, wink, wink.

الموضح أعلاه: عدد صفحات "الصفحات الصفراء" في أسفل صفحة النتائج.

ومع ذلك، هناك تحذير واحد لاستراتيجية التوازي هذه: في حين أن الصفحات الصفراء قد تقترح وجود أكثر من 60 صفحة من النتائج، فإن محاولة الوصول إلى أي صفحة تتجاوز 60 صفحة في النتائج لن يتم عرضها. لذلك، قم بتعيين حد أقصى ثابت للتوازي عند 60 صفحة. بافتراض وجود نطاق ترددي وقدرة حوسبة كافية - يجب كشط كل صفحة نتائج في نفس الوقت الذي تستغرقه لكشط صفحة واحدة ضمن النموذج المتسلسل.

الموضح أعلاه: مثال على بيانات قائمة الصفحات الصفراء المستخرجة.

والآن، قد تتساءل، هل كان هذا طعم النقر؟ ما علاقة "المليونير" بكل هذا؟ حسناً، إذا كنت قد تابعت على طول وتمتلك الآن برنامج نصي فعال، قد أكون أو لا أكون قادراً على أن أشهد شخصياً أنه لا يوجد شيء يمنعك من التكرار نظرياً من خلال كل مدينة في كندا وسحب كل قائمة أعمال من استعلام داخل المدينة المذكورة من الصفحات الصفراء. قد تحتوي هذه البيانات حرفياً على قيمة بالدولار بالملايين إذا تم تعزيزها بشكل صحيح، ولكنها أيضاً ملايين الأعمال التجارية داخل دليلهم والتي أصبحت الآن في متناول يدك.

قد يستحضر موقع YellowPages ذكريات حقبة ماضية، إلا أن إمكاناته في توليد عملاء محتملين من الشركات لا تزال كنزاً دفيناً في المشهد الرقمي. من خلال التنقل بين المراوغات في واجهة الويب الثابتة الخاصة بها، فإن كشط البيانات من هذه المنصة التي تبدو قديمة يكشف النقاب عن مجموعة واسعة من العملاء المحتملين في مجال الأعمال. إن طبيعة الصفحات الصفراء المهملة وغير المستغلة بشكل كافٍ تجعلها فرصة فريدة من نوعها.

هدفي الوحيد هو ألا يترككم هذا المنشور في هذه المدونة تفكرون في أن "الكنز الحقيقي هو الأصدقاء الذين كونّاهم على طول الطريق" - آمل أن يكون هذا المنشور قد أظهر الفرص الفريدة الموجودة خاصة مع مجموعة المهارات التي يعتبرها الكثير منا أمراً مفروغاً منه، وآمل أيضاً أن يكون بمثابة قراءة ممتعة لمن لديهم خبرة في هذا المجال، وأن يقدم نظرة ثاقبة لمن ليس لديهم خبرة في هذا المجال.

كما هو الحال دائمًا، حافظ على سلامتك، واستخدم وسائل الحماية، ولا تفعل شيئًا حيث سيكون مكتب التحقيقات الفيدرالي في أعقابك - حسنًا في هذه الحالة سيكون شرطة الخيالة الملكية الكندية الملكية.

يظهر أعلاه: ما يعادل مكتب التحقيقات الفيدرالي الكندي - شرطة الخيالة الملكية الكندية.