استخراج کل email های یک صفحه با php

  • آپدیت شده در تاریخ

استخراج کل email های یک صفحه با php

برای بدست آوردن ایمیل های معتبر باید وب سایتهای مختلف را بررسی و مشاهده کنید و از داخل وب سایت ها اقدام به جمع آوری ایمیل نمایید.جمع آوری ایمیل از سایتهای مختلف قطعا کاری سخت و وقت گیر است و علاوه بر صرف زمان نتیجه مطلوبی به دست نمیاید چرا که تعداد ایمیلهایی که جمع آوری میکنید به نسبت زمانی که صرف میکنید جزعی و اندک است!

برای همین ما با نوشتن یک اسکریپت PHP می توانیم این کار را خودکار کنیم و سرعت استخراج ایمیل ها را افزایش بدیم. این جمع آوری ایمیل های یک صفحه توسط PHP می تواند برای اهداف مختلف زیادی مورد استفاده قرار بگیرد.

با استفاده از آموزش استخراج کل email های یک صفحه با php میتوانید ایمیل های موجود در سایتها را جمع آوری کنید! از نکات مثبت این روش, قابلیت راه اندازی در لوکال هاست (تست شده در xampp) و همچنین نیاز نداشتن به دیتابیس می باشد .

البته شما به راحتی می توانید به دیتابیس mysql متصل و تمام ایمیل ها را ذخیره کنید و یا راه دیگر ذخیره سازی در فایل ها است.

روش دیگری استفاده, خودکار کردن ربات جمعاوری ایمیل است که از cron job سرور استفاده کنید و آن را در بازه های مختلف بر روی URL ها دلخواه اجرا و تمام نتایج را به تفکیک ذخیره کنید.

 

استخراج کل email های یک صفحه با php

در ابتدا یک فرم برای دریافت آدرس صفحه وبسایتی که قصد جمع آوری ایمیل های آن را داریم, ساختیم. همچنین در این فرم به جای صفحه URL , می توانید متن طولانی خود که حاوی ایمیل است را وارد کنید تا به راحتی استخراج کل email ها انجام شود.

سپس بعد از بررسی ارسال یکی از مقادیر بالا محتوای URL را با استفاده از تابع file_get_contents خواندیم و در یک متغییر ذخیره کردیم. (اگر این تابع روی سرور شما کار نکرد و در error_log ها خطایی مربوط به تابع را دیدید به راحتی می توانید از cURL بهره ببرید)

مرحله بعد استفاده از توابع کار با رشته به منظور دریافت الگوی خاصی از متن که ایمیل می باشد, است . برای همین از تابع preg_match_all استفاده کردیم تا بتوانیم از عبارت های با قاعده (Regex) به منظور سادگی کار بهره ببریم.

تابع preg_match_all تمامی ایمیل ها متن یا صفحه دریافتی را پیدا کرده و هر یک را در خانه ای از آرایه $matches ذخیره می کند.

 

مرحله آخر کار استخراج کل email های یک صفحه با php نیز استفاده از foreach به منظور واکشی آرایه $matches و چاپ کردن هر یک از ایمیل ها در یک خط است. توجه کنید از تابع array_unique برای جلوگیری از چاپ کردن ایمیل های تکراری استفاده کردیم.

در این مرحله به راحتی می توانید به دیتابیس متصل شده و ایمیل ها را ذخیره کنید و یا اینکه یک فایل بسازید و ایمیل ها را در آنجا ذخیره کنید.(مدیریت فایل ها در php)

 

کد کامل استخراج کل email های یک صفحه با php

 

امیدوارم از آموزش استخراج کل email های یک صفحه با php نهایت استفاده را برده باشید و بتوانید با شخصی سازی اون اسکریپت قوی تری رو ایجاد کنید.

برای دانلود سورس کد کامل این آموزش از باکس دانلود استفاده کنید.

هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق و پیروز باشید

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۹)

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. محمدحسین پدرام ۲۴ فروردین ۱۴۰۲

    اگر ب جای ایمیل بخوایم لینک هارو استخراج کنیم چطوری ممکنه؟

    پاسخ
    1. حسن شفیعی ۲۴ فروردین ۱۴۰۲

      باید از ‌regex لینک ها استفاده کنید:
      https://netparadis.com/regular-expression-regex-php

      پاسخ
  2. سعید ۲۸ شهریور ۱۴۰۰

    اگه بخوایم ایمیل هایی که فقط gmail هستند استخراج کنیم باید چکار کنیم

    پاسخ
    1. حسن شفیعی ۲۹ شهریور ۱۴۰۰

      سلام.
      این بخش ریجکس در خط ۲۸ رو به gmail تغییر بدید
      @([a-z0-9]+([\.-][a-z0-9]+)*)

      پاسخ
  3. Shalanda ۱۷ شهریور ۱۳۹۹

    خیلی مطلب خوبی بود. ممنون از به اشتراک گزاری.

    پاسخ
  4. Mohammad javad ۲۷ فروردین ۱۳۹۹

    خیلی عالی بود

    دستتون درد نکنه

    پاسخ
    1. حسن شفیعی ۲۷ فروردین ۱۳۹۹

      خوشحالیم که مفید واقع شده. موفق باشید.

      پاسخ
  5. امیر ۲۹ تیر ۱۳۹۷

    سلام حسن جان .
    ممنون از آموزش های خوبتتون .
    استفاده میکنیم از همشون 😍😘

    پاسخ
    1. حسن شفیعی ۲۹ تیر ۱۳۹۷

      سلام . خوشحالم که آموزش ها مفید واقع میشه . موفق باشید.

      پاسخ
دوره های آموزشی