View Full Version : خواندن و جستجو در صفحات وب یونی کد
پدرخوانده
سه شنبه 12 اردیبهشت 1385, 00:44 صبح
به دنبال ایجاد یک سرچ اینجینی برای صفحات وب هستم تونستم تا حدی در فایلهای با انکودینگ arabic-windows ( همان 1256 خودمان) اینکار را انجام دهم(بدین صورت که توسط تابعی ابتدا مطالب خوانده شده از فایل html را به متن ساده تبدیل می کنم - البته لازم به ذکر است که اینکار در برخی از مواقع دارای مشکل هست چرا که الگوریتم این کار بر مبنای حذف عباراتی که با > شروع و < ختم می شود و یکسری استثنائات که بعضا در بعضی فایلها دارای اشکال می شود)می خواستم اول از همه بدانم آیا برای این منظور تابعی خاص هست و یا الگوریتم بهتری پیشنهاد می کنید.و بعد اینکه در صفحاتی که دارای کدپیچ یونی کد هستند چگونه می توان این کار را انجام داد.توسط شناسایی کد meta از تگهایی اولیه که معمولا در ابتدای صفحات html هست می توان پی به ماهیت کدینگ صفحه وب برد و در ضمن یکسری توابع جهت تبدیل یونی کدی و بالعکس در ویژوال فاکس هست ولی در استفاده از آنها معمولا مشکل دارمو درضمن در مواردی که بصورت انکدینگ عربیک هست ولی کد حروف جای خود حروف هستند(مثل خروجی های وب که از فایلهای ورد گرفته می شود و یا فایلهایی که توسط فرونت پیچ اصلاح یا ایجاد می شود دارای چنین مشکلی هستند)برای اینگونه فایلها چه راه حلی پیشنهاد می کنید.
rezaTavak
سه شنبه 12 اردیبهشت 1385, 12:41 عصر
خب شما اگر چیزی با < یا > بود را می توانید حذف کنید به جای آن باید در متن از > استفاده کنند.
اما در مورد یونیکد فاکس پرو از یونیکد درست حسابی حمایت نمیکند. متاسفانه باید تابع خودتان ار بنویسید.
پدرخوانده
سه شنبه 12 اردیبهشت 1385, 18:58 عصر
در مواردی که بصورت انکدینگ عربیک هست ولی کد حروف جای خود حروف هستند(مثل خروجی های وب که از فایلهای ورد گرفته می شود و یا فایلهایی که توسط فرونت پیچ اصلاح یا ایجاد می شود دارای چنین مشکلی هستند)
آیا برای این مشکل نیز راه حلی وجود ندارد؟!!
rezaTavak
سه شنبه 12 اردیبهشت 1385, 20:06 عصر
دقیقا کد حروف فقط در یونیکد است.
پدرخوانده
سه شنبه 12 اردیبهشت 1385, 22:54 عصر
اگر منظورتون این است که در حالتی که اطلاعات صفحه وب بصورت یونی کد ذخیره شده باشد اطلاعات به صورت کد شده هستند؟این اشتباه است چرا که بعضا در حالت عربیک ویندوز نیز اینچنین هستشما برای امتحان از یک فایل ورد خروجی وب با انکدینگ عربیک ویندوز (arabic-window 1256) بگیرید و یا یک فایل عربیک ویندوزی را در فرونت پیچ باز کرده و اصلاح و تغییر دهید و سپس آن را ذخیره کنید حال همان فایل را بصورت یک فایل تکست باز کنید (در برنامه های همچون homesite,notepad,....) خواهید دید که به جای متن یکسری کد دارید که بصورت تک تک می باشد یعنی هر کد برای یک حرف می باشدو البته تا اونجایی که بنده اطلاع دارم یونی کد بصورت دو بایتی می باشد (البته در جایی هم خوندم بودم که چهار بایتی هست که فکر کنم تفاوت بین انواع utf ها باشد) که این با محتوی فایل تکست موردنظر تناقض دارد (که هر کد برای یک کاراکتر می باشد)و نهایتا منظورم بنده این است که در اینگونه فایلهای آیا راه حلی برای تبدیل این متون به متن عادی (عربیک ویندوز به صورت متن نه به صورت کد) وجود دارد؟! (البته یک راه حل که به ذهن خودم می رسد که یک تابع بنویسم و هر کدی که با علامت & شروع می شود را خوانده و با توجه به جدول مبنا آن را به حروف تبدیل کند ولی فکر نکنم راه حل مناسبی باشد)
rezaTavak
چهارشنبه 13 اردیبهشت 1385, 06:50 صبح
راستش من هم دقیقا همین کار را می کنم امتحان کرده ام و دیده ام که متن معمولی بود مگر در حرف ی و ک (البته فکر کنم)
(البته اینو بگم من چند وقتی است از ابزارهای میکروسافتی به شدت پرهیز میکنم و به جای آن از openOffice استفاده می کنم چون می خواهم فایلم استاندارد باشه و توی حتی موبایل هم بتونم بخونم راستش این قابلیت را توی word ندیدم اما OpenOfficeبه راحتی تبدیل خوبی انجام میده!)
اگر هم اینجوری است که شما می فرمایید قاعدتا باید این تبدیل را انجام بدهید!
پدرخوانده
پنج شنبه 04 خرداد 1385, 18:35 عصر
من مدتی روی این پروژه کار کردم
(بحث تبدیل به متن جهت جستجو و اصلا پایه کار جستجو روی انواع صفحات وب)
ولی متاسفانه باز به جواب مطلوب نرسیدم
بستگی به سالمی یا خرابی (جاسمی) فایلهای وب این عملیات با میزان خطایی (عدم یافتن عبارت جستجو) بیشتری مواجه می شود
به تازگی در نمایشگاه برنامه ایی را دیدم (که با وی بی نوشته شده بود) و طبق ادعای برنامه نویس آن قادر به خواندن تمامی صفحات وب بود ولی به چه صورت نمی دونم (مخصوصا کار کردن با انواع حالت های فایل وب (حذف کدهای اضافی و ایجاد یک متن درست و حسابی از روی صفحه وب موردنظر)
ایشون (برنامه نویس برنامه موردنظر) می گفت که فایل را خوانده و بعد از تبدیل (به یونی کد) در جدول اکسس ذخیره می کند و مشکلی در انواع فایلها و همچنین جستجو در آن نداشت
و دیگری اینکه در برنامه ایشان از آبجکت explorer جهت نمایش صفحات وب استفاده شده بود ولی امکانات جالب را نیز به آن داده بود
تغییر فونت, تغییر رنگ زمینه, تغییر قلم نمایشی و ..... که من به هنگام استفاده از این آبکت در ویژوال فاکس قادر به کنترل آنها نبودم
می خواستم بدانم چگونه می توان این کارها را در محیط فاکس انجام داد (یقینا وقتی از یک آبجکت استفاده میشه) باید بشه تو محیط فاکس هم این کارها رو انجام داد.
ممنون میشم دوستانی که می تونند از جاهای دیگه (سایت های دیگر) جواب بگیرند راهنمایی کنند.
binyaz2003
شنبه 06 خرداد 1385, 08:10 صبح
شما با لود یک صفحه در اکسپلورر متن فایل کامل رو دارید و براحتی میتونید فونت ، رنگ و اندازه کل یا هر قسمت از متن رو عوض کنید با اضافه کردن تگ ها
پدرخوانده
یک شنبه 07 خرداد 1385, 09:23 صبح
با تشکر از شما دوست عزیز
در رابطه با راهنمایی ذکر شده (تغییر در تگ های فایل صفحه وب) باید توضیح بدم خدمتتون که معمولا این کار همیشه با موفقیت انجام نمی گیرد.
ثانیا به هنگام نمایش حتما باید از روی فایل اصلی یک کپی برداری کرده (که بخواهی آن را تغییر دهی) و سپس آن را تغییر دهید.
وثالثا این کار با توجه به مقدار نرمال بودن تگ های صفحه وب درست یا اشتباه عمل می کند (البته در اکثریت مواقع درست عمل می کند مثلا رنگ زمینه (از طریق تگ body ) ولی در نظر بگیرید که خود صفحه وب موردنظر دارای تنوع رنگی بسیار باشد (از طریق تگ span و یا در bgcolor خود تیبلها و یا ....) خوب نتیجتا تغییر رنگ زمینه body همچین خوب نمایش داده نمی شود) و یا جهت تغییر فونت (با توجه به مقدار استفاده شده در تگ ها توسط کاربر باید عملیات جستجو و جایگزینی زیاد انجام شود و در صورت استفاده از استایل ها و css و یا ....) مواردی که عدم امکان تغییرباشد بسیار است
و مثلا یکی از مشکلات دیگر کنترل راست کلیک در روی صفحه وب است (که نشان می دهد که این در یک بروزر نمایش داده می شود) (البته برای این کار نیز از یک سورس جاوااسکریپت که در ابتدا فایل وب فراخوانی شده استفاده کردم (جهت عدم نمایش آیتم های راست کلیک) ) ولی کار زیبایی نبود. (و در کل نیاز به تغییر در هر صفحه بوده و ....)
و در نهایت که بعد از انجام این کار صفحه باید رفرش شود که حالت زیبایی ایجاد نمی کند
حال آنکه بنده در نمونه برنامه ایی که دیده بودم (در نمایشگاه) اینچنین نبود و تغییر صفحه و یا ... بسیار سریع تر از رفرش یک صفحه وب بوده
(البته در کل این روش را قبلا خودم انجام دادم ولی مطلوب نبود)
به دنبال انجام این کار از طریق خود کنترل active-x مربوط به ie هستم
و یا اینکه ocx,... دیگری برای این منظور هست.
والبته اصل داستان....
بستگی به سالمی یا خرابی (جاسمی) فایلهای وب این عملیات با میزان خطایی (عدم یافتن عبارت جستجو) بیشتری مواجه می شود
به تازگی در نمایشگاه برنامه ایی را دیدم (که با وی بی نوشته شده بود) و طبق ادعای برنامه نویس آن قادر به خواندن تمامی صفحات وب بود ولی به چه صورت نمی دونم (مخصوصا کار کردن با انواع حالت های فایل وب (حذف کدهای اضافی و ایجاد یک متن درست و حسابی از روی صفحه وب موردنظر)
نسبت به این مطلب خیلی مشکل هست.
hamed_m
دوشنبه 22 خرداد 1385, 14:33 عصر
یه مقاله جالب در مورد یونیکد و فاکس پرو: http://www.west-wind.com/presentations/foxunicode/foxunicode.asp .
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.