PDA

View Full Version : طراحی و پیاده سازی یک خزنده وب سایت (webSite Crawler)



nazaninam
دوشنبه 29 مرداد 1386, 16:21 عصر
با سلام
برای ساخت یک خزنده که در سایت های مختلف می گرده و اطلاعات جمع آوری می کنه از کلاس WebBrowser استفاده کردم . ولی با مشکلات زیادی مواجه میشه و خیلی هم کند هست...
آیا استفاده از HttpWebRequest بهتر هست؟
پیشنهاد دیگری دارید؟
ممنون از همکاریتون

Behrouz_Rad
دوشنبه 29 مرداد 1386, 19:16 عصر
دقیقا چکار کردی؟

SalarSoft
دوشنبه 29 مرداد 1386, 19:20 عصر
آیا استفاده از HttpWebRequest بهتر هست؟ ساده ترین راه همینه.
socket هم هست که سخته و باید دانشش رو داشته باشی.

How: http://www.codeproject.com/useritems/Web_Crawler.asp
Sample: http://www.codeproject.com/cs/internet/Crawler.asp
sample: http://www.codeproject.com/cs/internet/davwebspider.asp

nazaninam
سه شنبه 30 مرداد 1386, 11:25 صبح
جناب سالار سافت عزیز لینک های فوق را خوانده بودم ، متشکرم
فکر کنم موضوع را یکم بد مطرح کردم .
این خزنده یکم کارش با اینها فرق می کنه ، این خزنده ها یا Spider ها فقط عمل خواند و ذخیره را انجام می دهند ولی این ربات که بنده قصد توسعه اونو دارم بر اساس یک الگوریتم خاص میاد و مثلا داخل یک سایت وارد میشه !
لاگین میکنه ، و سپس یک سری اعمال از پیش تعریف شده را انجام میده ، مثلا کامنت میگذاره و....
مشکل من اینه که با httpwebrequest چطوری لاگین کنم؟ یا چطور کامنت بگذارم ؟
فکر کنم کار راحتی نباشه ولی با استفاده از کلاسwebbrowser خیلی راحت میشه این کار را انجام داد

Behrouz_Rad
سه شنبه 30 مرداد 1386, 13:35 عصر
از یک Http Sniffer استفاده کن (EffeTech HTTP Sniffer خوبه) و ببین در زمان Login داده های Packet ها به چه شکل به سایت منتقل میشه.
بعد از اینکه متوجه شدی، میتونی یک Packet به همون شکل ایجاد و به سایت ارسال کنی.
این بررسی در دو حالت باید صورت بگیره.
در حالتی که عمل لوگین موفقیت آمیز هست و حالتی که نیست.
با Http Sniffer و بررسی Header های ارسالی و دریافتی چیزهای فوق العاده ای رو میتونی متوجه بشی و همه ی اینها با HttpWebRequest به راحتی امکان پذیر هست.

موفق باشید.

nazaninam
سه شنبه 30 مرداد 1386, 23:24 عصر
ممنون آقای راد :)

mahsa_alamdari
چهارشنبه 13 اردیبهشت 1391, 15:44 عصر
من میخوام تازه شروع کنم نوشتن یه Web crawler ،راهنماییم می کنین؟