تور لحظه آخری
امروز : چهارشنبه ، 16 آبان 1403    احادیث و روایات:  پیامبر اکرم (ص):هر كس غمى از غم‏هاى دنيا را از مسلمانى برطرف نمايد، خداوند غمى از غم‏هاى روز قي...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

قیمت پنجره دوجداره

بازسازی ساختمان

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

اوزمپیک چیست

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

نگهداری از سالمند شبانه روزی در منزل

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

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

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

 






آمار وبسایت

 تعداد کل بازدیدها : 1826714684




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

درخواست برنامه طراحی یک موتور جستجو با C#.Net


واضح آرشیو وب فارسی:سایت ریسک: bahareh65509-09-2008, 03:29 PMسلام به همه دوستان من قراره یه پروژه به زبان C#.netبنویسم که موضوعش طراحی یک موتور جستجوست اگه کسی می تونه کمکم کنه،یک دنیا ممنون:11: _H2_11-09-2008, 01:52 AMسلام اگر منظورتان موتورهای جستجو وب است، اصولش ساده است و پیاده سازیش هم ساده است ولی حجم کد نویسی زیادی دارد. اولین چیز نیاز به یک روبات اسکن کننده است. شما باید صفحات اینترنت را به صورت متنی دانلود کنید (مثلاً با کلاسس System.Net.WebClient) و سپس: 1) این متن html را پردازش کنید و به طرز مناسبی که بعداً جستجوی سریعی داشته باشد، همراه با لینکش در دیتابیس ذخیره کنید 2) این متن html را پردازش کنید و هایپرلینک ها به صفحات دیگر را پیدا کنید، این هایپرلینک ها هدف بعدی جستجو هستند. یعنی شما با رفتن به هر صفحه html آدرس چن و شاید چند ده صفحه دیگر را پیدا کنید. باید مراقب باشید صفحه ای دوبار اسکن نشود و یک حلقه بینهایت در برنامه پیش آید، باید به فکر آپدیت کردن اطلاعات صفحات هم باشید و طبق یک برنامه زمان بندی اطلاعات صفحات را مجدداً در دیتابیس تان refresh کنید در سمت دیگر هم باید یک ایندکس قوی و کد مناسب برای جستجوی کلمات مورد نظر کاربر از داخل دیتابیس و یافتن لینک صفحات داشته باشید. r.gh4518-09-2008, 06:03 PMسلم می بخشید میشه یکمی بیشتر در مورد نحوه اسکن کردن صفحات توضیح بدید اگه میشه یک کد نمونه هم بزارین. یک سوال دیگه آیا میشه یک برنامه توی وب نوشت که مثلا توی صفحات خاصی یک کاری بکنه . مثلا ارسال پیام. _H2_19-09-2008, 01:52 AMسلام انجام این عمل بسیار حساس است و کد زیاد و دقیقی میخواهد که خیلی شبیه Parser های XML است ولی متاسفانه Html کمی بی قانون است و زیاد قوانین XML را رعایت نمیکند، مثلاً تگ <br> به جای </br> یا ساختار خیلی از صفحات وب مشکل دارد و شاید تگ td باز باشد که <td/> نداشته باشد و یا .... در نتیجه باید یک کد دستی داشته باشیم که کاراکتر به کاراکتر html را بخواند و تفسیر کند و حتی الممکن تمام کار را در یک بار خواندن و مرور متن انجام دهد. البته میتوان با کمی دردسر از هسته DOM مرورگر هایی مثل IE هم استفاده کرد ولی در دنیای واقعی و برای مصرف یک سایت جستجو فکر نکنم سرعت مناسبی داشته باشد و ساخت همان یک کد خوانده یک مروره خیلی بهتر است. من فقط یک کد بسیار بسیار بسیار ساده و البته نه چندان صحیح برایتان نوشتم. این کد فقط تگهای a را اسکن میکند و لینک تمام صفحاتدیگر را پیدا میکند. این کد خلی مشکل دارد ولی در عوض ساده و کوتاه و قابل فهم است. (مثلاً اگر در خصیصه href و قبل یا بعد از = یک یا چند فاصله باشد داشته باشد، کد به مشکل میخورد و ...) باید توجه داشتکه از Scan محتویات غیر متنی zip و pdf و jpg و... و... و... در کدها جلوگیری کرد. شما میتوانید به جای Urls.Add این مقادیر را به یک ListBox و یا با یک Enter به یک TextBox اضافه کنید. (در حالت واقعی این کار روی دیتابیس انجام میشود.) !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! در آخر توجه داشته باشید که با احتصاب جلوگیری از مرور مجدد یک صفحه، میتوان متد Scan را برای صفحات جدید یافته شده نیز اجرا کرد. این کار به صورت یک سرطان شاخه درختی رشد خواهد کرد و ظرف مدت کوتاهی به سایتهای دیگر و میلیون و میلون ها و میلیارد ها لینک خواهد رسید و تقریباً تمام شدنی برای من مفروض نیست. !!! قسمت دوم سوالتان را اصلاً متوجه نشدم، مثلاً شما صفحه site.com/file.htm را پیدا کردید، خوب چه پیامی میخواهید بفرستید؟ r.gh4521-09-2008, 09:31 AMسلام منونم از اینکه جواب دادید. برای قسمت دوم سوال منظورم اینکه مثلا ربات ما به صورت خدکار در یک سایت ثبت نام کنه (البنه میدونم این ربات باید خیلی هشمند باشه تا بتونه به تور مثال textbox مربوط به نامو پیدا کنه ولی برای شروع ما فرض می کنیم این فرم در تمام ثایت ها یکسان تعریف شده مثلا textbox1 مربوط به نام است.) ممنون _H2_21-09-2008, 07:56 PMسلام برای قسمت دوم سوال منظورم اینکه مثلا ربات ما به صورت خدکار در یک سایت ثبت نام کنه (البنه میدونم این ربات باید خیلی هشمند باشه تا بتونه به تور مثال textbox مربوط به نامو پیدا کنه ولی برای شروع ما فرض می کنیم این فرم در تمام ثایت ها یکسان تعریف شده مثلا textbox1 مربوط به نام است.) در دید اول شاید ساده باشد ولی خیلی حالت خاص دارد و حتی در شرایط فیلدهای مساوی هم شاید مجبور شویم برای هر آدرسی کد را عوض کنیم، برای ثبت نام چندان کار امد نیست، مگر اینکه بخواهید یک برنامه مخرب اجرا کنید و تعداد کثیری را ثبت نام کند!!!! یا اینکه برای صفحات دانلود برخی سایت، کاری کنید که زمان انتظار از بین برود و... صفحه اگر کد js داشته باشد، باز کار سخت میشود، یعنی دکمه اصلی به جای submit یک کد js را اجرا کند، بعد باید بشنیم ببینیم کد js چه کار دارد میکند.... اگر page مورد نظر اعتبار سنجی تصویری داشته باشد (تصویر یک نوشته) دیگر کار غیر ممکن میکند، چون این نوشته های تصویر شده اغلب طوری هستند که بهترین OCR ها هم نمیتوانند از پس شان بر آیند... در کل خیلی به محتویات صفحه وابسته است. r.gh4522-09-2008, 03:44 PMبازهم منونم آقای h2 . من قصد نوشتن کد مخرب ندارم این یک برنامست که به من سفارش دادن و بیشتر جنبه تبلیغاتی داره . فقط اگه شما لطف کنید و یک کد نمونه دیگه در این باره برای من بزارین ممنون میشم. _H2_23-09-2008, 11:00 PMسلام اگر فرض کنیم یک فرم ساده با یک TextBox و Button به فرمت زیر داشته باشید: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! یا html زیر باشد، با هر زبان سمت سرور... !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! آنگاه برای پر کردن TextBox1 با مقدار Value1 و کلیک کردن Button1 و گرفتن html نتیجه، میتوان کد زیر را اجرا کرد. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! همانطور که گفتم اجرا شدن صحیح دستورات بسیار بسیار به صفحه حساس است. مثلاً در صفحات aspx - برای اتفاق افتادن رویدا کلیک معمولاً باید EVENTTARGET__ را هم اضافه کرد تا سوییچر داخلی فعال شود. - شاید نیاز باشد گزینه EnableEventValidation برای page مربوطه False شود، چون asp.net مثل بقیه زبانهای سمت سرور چندان بی در و پیکر نیست و مدیریت شدیدی روی درخواستها دارد، معمولاً به صورت داخلی رویدادها را اعتبار سنجی میکند. ولی در مورد صفحات دیگر زبانهای سروری این دو نکته وجود ندارد. در کل اگر میخواهید، میتوانید کد فوق را به عنوان یک یادگیری و سرنخ در نظر بگیرید و سپس و بیشک باید آنرا بسیار توسعه بدهید. r.gh4525-09-2008, 10:35 AMسلام خیلی لطف کردین جناب h2 از اینکه وقت گزاشتین ممنون.اومید وارم با امامتون حضرت علی محشور بشید _H2_25-09-2008, 09:14 PMسلام ...اومید وارم با امامتون حضرت علی محشور بشید یک چیزی میگفتید که حداقل یک تلیارد ام احتمال داشته باشه .... ! r.gh4526-09-2008, 11:12 AMما در این دنیا با هر کسی دوستی کنیم اون دنیا هم حتما با همان شخص دوستی می کنیم اگه با شیطان دوست باشیم اون دنیاهم میریم پیش اون و اگه مثل شما عشق ودوستی مولا علی تو قلبمون با شه حتما در کنار و جوار اون بزرگوار قرار می گیریم به اومید خدا wickietetsu09-12-2008, 06:49 AMممنون از آقای h2 من یه پی ام واستون گذاشتم.لطفا چک کنید barbababak03-10-2010, 02:40 PMبا فرض این که لینک برگه های سایت های مختلف پیدا شدند و تعداد زیادی از اونها داونلود شدند، قدم بعدی چیه؟ این که تمام متن اون صفحه ها رو پس از کنار گذاشتن تگ های اچ تی ام الشون در رکوردهای پایگاه داده ذخیره کرد و با استفاده از دستور LIKE و % در اونها جستجو انجام داد؟ آیا این راه کند نیست؟ چه روشهای بهتری وجود دارند؟ _H2_04-10-2010, 06:15 PMسلام این که تمام متن اون صفحه ها رو پس از کنار گذاشتن تگ های اچ تی ام الشون در رکوردهای پایگاه داده ذخیره کرد و با استفاده از دستور LIKE و % در اونها جستجو انجام داد؟ آیا این راه کند نیست؟ چه روشهای بهتری وجود دارند؟ اصل تفکر و الگوریتمی که در ذهنتان شکل گرفته صحیح است و از این منظر جوابتان بله است. ولی در مورد دستور LIKE جوابتان خیر است. باید یکم بیشتر روی امکانات متعدد SQLServer تمرکز کنید. SQLServer سرویس به نام Full Text Search دارد که با ساختاری به نام Catalog در ارتباط است. این سرویس امکان جستجوی بسیار پرسرعت و با قابلیت های مفهومی (مثل کلمات مشابه و هم معنی و...) را روی متون مقدور میسازد. باید Catalog ای برای ستون جدول مورد نظر بسازید و با سینتکس خاص این سرویس در Catalog تشکیل شده جستجو کنید. برای اطلاعات بیشتر به مدخل زیر مراجعه کنید: http://msdn.microsoft.com/en-us/library/ms142571.aspx سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 4140]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن