PDA

View Full Version : حرفه ای: جمع آوری پست الکترونیکی، شماره موبایل، شماره تلفن و ... از سایت ها



mohan21
سه شنبه 16 اردیبهشت 1393, 18:13 عصر
با سلام

بنده قصد پیاده سازی برنامه ای دارم که بتوانم اطلاعاتی مانند پست الکترونیکی، شماره موبایل، شماره تلفن و ... رو از سایت ها جمع آوری کنم،
فرضا با مراجعه به سایت barnamenevis.org تمام اطلاعات مربوطه را دریافت نمایم ...

خب، حال چطور باید اینکار رو انجام دهم !؟
ممنون میشوم راهنمایی نمایید، کلی گشتم اما چیزی پیدا نکردم ...

با تشکر

parvizwpf
سه شنبه 16 اردیبهشت 1393, 18:28 عصر
این اطلاعات رو که میگید مربوط به اشخاص عضوه سایتهاس یا فقط مدیر اصلی ؟ کار عجیبیه...... چرا اینو میخواهید البته جسارتا؟

mohan21
سه شنبه 16 اردیبهشت 1393, 18:35 عصر
کل صفحات سایت باید بررسی بشه و پست الکترونیکی موجود در صفحات جمع آوری شود ...

برای ایجاد بانک ایمیل از کاربران اینترنت تا بتوانم برای ارسال ایمیل خبری از اونها بهره ببرم،
بنده قصد دارم برای سایت خبری ام روزانه ایمیل ارسال کنم، بهمین دلیل نیاز به ایمیل افراد دارم ...

یکی از این منابع میتونم ف.ی.س.ب.و.ک رو اشاره کنم ... همچنین انجمن های گفتگو مانند همین انجمن

منتظر راهنمایی دوستان هستم ...

aalmair
سه شنبه 16 اردیبهشت 1393, 20:40 عصر
خب باید یه موتوره جستجوی محدود بسازی. من می می تونم اما یه پروژه دیگه ای در حال انجام دارم

parvizwpf
سه شنبه 16 اردیبهشت 1393, 20:46 عصر
بنظرم این آمار رو طور دیگه ای بدست بیارید بهتره. مثلا جاهایی که این آمار دستشونه. دیدم برای تلفن یه سری جاهای تبلیغاتی دیتابیس خوبی دارن

mohan21
سه شنبه 16 اردیبهشت 1393, 21:42 عصر
خوب اونها هم با مراجعه به سایت ها صفحات رو بررسی و اطلاعات رو دریافت کردند ...
میخام خودم یک بانک مستقل داشته باشم ...

ممنون میشم راهنمایی نمایید ...
پیدا کردن اطلاعات لازم در صفحه مشکلی نیست، مشکل در خزیدن بین صفحات سایت مورد نظر هست ...
فرضا بنده آدرس barnamenevis.org رو به نرم افزار داده ام، نرم افزار باید به تمام صفحات این سایت سر بزند تا کل صفحات سایت مشاهده گردد ...

منتظر راهنمایی شما هستم ...

mohan21
چهارشنبه 17 اردیبهشت 1393, 10:01 صبح
خب دوستان برنامه نویس منتظر راهنمایی های شما هستم ...

ایده خودم ...

1. نرم افزار آدرس سایت مورد نظر را دریافت کند.
2. اطلاعات پست الکترونیکی و ... را از صفحه جمع آوری نماید.
3. تمام لینک های موجود در صفحه را شناسایی کند.
4. در صورتی که لینک شناسایی شده از صفحات سایت مورد نظر می باشد و قبلاً مراجعه نشده است، به آن صفحه برود و انجام مرحله 2 در غیر اینصورت مرحله 5.
5. پایان

نظر + راهنمایی ؟؟

aalmair
چهارشنبه 17 اردیبهشت 1393, 16:50 عصر
خب دوستان برنامه نویس منتظر راهنمایی های شما هستم ...

ایده خودم ...

1. نرم افزار آدرس سایت مورد نظر را دریافت کند.
2. اطلاعات پست الکترونیکی و ... را از صفحه جمع آوری نماید.
3. تمام لینک های موجود در صفحه را شناسایی کند.
4. در صورتی که لینک شناسایی شده از صفحات سایت مورد نظر می باشد و قبلاً مراجعه نشده است، به آن صفحه برود و انجام مرحله 2 در غیر اینصورت مرحله 5.
5. پایان

نظر + راهنمایی ؟؟

یه چند روز بهم وقت بده برات بنویسم
البته فقط برای تو ...
منظورمو که می فهمی
درباره من (http://arash.aalma.ir/page/%D8%AF%D8%B1%D8%A8%D8%A7%D8%B1%D9%87%20%D9%85%D9%8 6)

mohan21
چهارشنبه 17 اردیبهشت 1393, 20:29 عصر
یه چند روز بهم وقت بده برات بنویسم
البته فقط برای تو ...
منظورمو که می فهمی
درباره من (http://arash.aalma.ir/page/%D8%AF%D8%B1%D8%A8%D8%A7%D8%B1%D9%87%20%D9%85%D9%8 6)

متوجه منظورتون نشدم ...

همچنین بنده خودم برنامه نویس هستم و هدف از ایجاد این تاپیک دریافت راهنمایی و مشاوره هست نه اینکه به شما دوستان زحمت نوشتن چنین برنامه ای رو بدهم ...
چون مسلماً زمانبر می باشد.

منتظر راهنمایی شما دوستان هستم ...

aalmair
چهارشنبه 17 اردیبهشت 1393, 20:56 عصر
باشه ببخشید .

برای اینکه موتور جستجوی کوچیک بسازی بایستی با برنامه نویسی شبکه آشنا باشی مثلا وارد صفحه ای میشی و اون صفحه تو رو به صفحه دیگه ارسال می کنی و چون تو مرورگر نیستی باید خود به صفحه جدید بپری و بر اساس نوع فایلی که سرور می فرسته تو باید اون فایل رو ترجمه و تفسیر کنه مثلا فابل ارسالی از نوع html است پس به html_parser نیاز و یا اگر فایل از نوع txt باشد نیازی به تفسیر نداره چون محتوای فایل تماما محتوا می باشد
بعدش نیاز به دستورات regex برای پیدا کردن اطلاعات مورد نیاز از محتوا (نه دستورات) داری
و چون در صفحات وب (html) از آدرس دهی نسبی استفاده میشه باید اون آدرس رو به آدرس مطلق تبدیل کنی
و ... خلاقیت

mohan21
چهارشنبه 17 اردیبهشت 1393, 21:41 عصر
خب تشکر

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

آیا روال کار بصورت زیر منطقی هست ؟؟


1. نرم افزار آدرس سایت مورد نظر را دریافت کند.
2. اطلاعات پست الکترونیکی و ... را از صفحه جمع آوری نماید.
3. تمام لینک های موجود در صفحه را شناسایی کند.
4. در صورتی که لینک شناسایی شده از صفحات سایت مورد نظر می باشد و قبلاً مراجعه نشده است، به آن صفحه برود و انجام مرحله 2 در غیر اینصورت مرحله 5.
5. پایان

aalmair
چهارشنبه 17 اردیبهشت 1393, 21:48 عصر
اگه برای یه مدت زمان محدود (1 ساعت) و فقط یک بار برای هر صفحه آره .
البته چون نرم افزار بی وقفه کار خواهد کرد به کامپیوتر های پیشرفته ای نیاز داری و با سرعت اینترنت بالا

peymang
چهارشنبه 17 اردیبهشت 1393, 22:00 عصر
به کل باید از تجزیه کننده ها یا پارسر ها استفاده کنید

و مطمئنا نمی تونید اطلاعاتی مثل شماره تلفن که شما دسترسی بهش رو ندارید بگیرید(به طور قانونی)
ولی اطلاعاتی که برای همه ی کاربر ها قابل نمایش هست رو می شه

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

peymang
چهارشنبه 17 اردیبهشت 1393, 22:04 عصر
اگه زبون برنامه نویسی براتون مهم نیست میتونید از jsoup استفاده کنید من خودم استفاده کردم برای یه پروژه و جواب داده
ولی اگه داخل زبون های دیگه می خواید simple html parser یا ganon با زبون php هم بد نیست ولی jsoup پیشنهاده منه
طرز استفادش هم خیلی راحته

https://code.google.com/p/ganon/‎

http://jsoup.org/

طرز استفاده از این پارسر ها خیلی آسونه ! و بیشتر اونها رشته اتخاب dom شون رو به شیوه ای که jquery استفاده کرده درست کردند

peymang
چهارشنبه 17 اردیبهشت 1393, 22:18 عصر
یه مثال با jsoup

https://gist.github.com/peymang/9b0ebbcb186214652825

که داخلش ساختار صفحه ای که برنامه نویس برای نمایش پروفایل استفاده می کنه رو وارد کردیم

که به این صورته
http://barnamenevis.org/member.php?x


که x ای دی اون کاربره و با هر با اجرای حلقه عوض میشه
اول سند رو دانلود می کنیم و بعد با پارسر jsoup اونو انتخاب می کنیم


در جواب به #11 (http://barnamenevis.org/showthread.php?451219-%D8%AC%D9%85%D8%B9-%D8%A2%D9%88%D8%B1%DB%8C-%D9%BE%D8%B3%D8%AA-%D8%A7%D9%84%DA%A9%D8%AA%D8%B1%D9%88%D9%86%DB%8C%D A%A9%DB%8C%D8%8C-%D8%B4%D9%85%D8%A7%D8%B1%D9%87-%D9%85%D9%88%D8%A8%D8%A7%DB%8C%D9%84%D8%8C-%D8%B4%D9%85%D8%A7%D8%B1%D9%87-%D8%AA%D9%84%D9%81%D9%86-%D9%88-%D8%A7%D8%B2-%D8%B3%D8%A7%DB%8C%D8%AA-%D9%87%D8%A7&p=2018682&viewfull=1#post2018682)
تا مرحله ی 2 درسته و اگه بخواین بقیه رو هم اجرا کنین نیاز به ترافیک خیلی زیادی دارید
مثلا بخواین یه سایتی مثل فیض بوک رو پیمایش کنید با توجه به اینکه اکثر لینک ها هم از همین سایت هستن نیاز به ترافیک خیلی خیلی خیلی خیلی خیلی زیادی دارید!

mohan21
چهارشنبه 17 اردیبهشت 1393, 23:56 عصر
با تشکر از دوستان ...

بنده در پست هام گفتم:

پیدا کردن اطلاعات لازم در صفحه مشکلی نیست، مشکل در خزیدن بین صفحات سایت مورد نظر هست ...

تنها مشکل نحوه اجرای برنامه هست ... نقطه شروع و پایان ...

aalmair
پنج شنبه 18 اردیبهشت 1393, 06:12 صبح
با تشکر از دوستان ...

بنده در پست هام گفتم:

پیدا کردن اطلاعات لازم در صفحه مشکلی نیست، مشکل در خزیدن بین صفحات سایت مورد نظر هست ...


تنها مشکل نحوه اجرای برنامه هست ... نقطه شروع و پایان ...

به نظرم تو در html parser مشکل داری . چند روز آینده برات میزارم و بهت توضیح می دم

aalmair
یک شنبه 21 اردیبهشت 1393, 20:22 عصر
همان طور که به شما قول داده بودم نسخه آزمایشی موتور جستجوی کوچک را قرار دادم

http://aalma.ir/bottest/ (http://aalma.ir/bottest/)


البته فعلا به خاطر آزمایشی بودن سورس کد ها رو قرار نمیدم

mohan21
یک شنبه 21 اردیبهشت 1393, 22:15 عصر
دقت به گفته هام نمیکنید ...
گفتم؛



بنده در پست هام گفتم:

پیدا کردن اطلاعات لازم در صفحه مشکلی نیست، مشکل در خزیدن بین صفحات سایت مورد نظر هست ...


تنها مشکل نحوه اجرای برنامه هست ... نقطه شروع و پایان ...

این یعنی مشکلی در تجزیه اطلاعات موجود در سایت ندارم ...

باز هم ممنون

rezakho
دوشنبه 22 اردیبهشت 1393, 00:31 صبح
روش های مختلفی وجود داره که هر کدوم برای شرایط خاص هست

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

چون کد نخواستی به همین اکتفا کردم

saeedvir
چهارشنبه 24 اردیبهشت 1393, 13:49 عصر
البته باید برنامه را طوری بنویسید تا در " تله های تار عنکبوتی" گرفتار نشید منظورم حلقه بی نهایت هست.