PDA

View Full Version : سوال: گرفتن آیکن وب سایت و ذخیره آن با داشتن لینک



hadisalahi2
یک شنبه 14 دی 1393, 17:54 عصر
سلام به همگی دوستان

من دارم یک برنامه مینویسم چیزی شبیه Bookmark Manager گوگل کروم که توش لیست ساتهای خودم رو میتونم ذخیره کنم و حالا ....

توی گوگل کروم وقتی یک سایت رو بوک مارک میکنی ، آیکن اون سایت رو هم در کنار عنوانش نمایش میده
توی این تصویر مشخصه :

127249


حالا سوال من اینه که آیا من هم میتونم با داشتن آدرس یک سایت آیکن اون رو داشته باشم و توی هارد دیسک ذخیره کنم ، تا بتونم توی برنامه خودم ازش استفاده کنم؟

یا حق

hsgpro
یک شنبه 14 دی 1393, 20:22 عصر
سلام
فاوآیکن (Favicon) سایت ها رو به دو روش زیر می تونید بدست بیارید:

1.دنبال فایل favicon.ico در آدرس سایت باشید به این صورت http://www.time.ir/favicon.ico
2.اگر فایل favicon.ico وجود نداشت دنبال تگ <link rel="shortcut icon> در داخل تگ head سورس سایت بگردید مثل:

<link rel="shortcut icon" type="image/x-icon" href="/Components/General/Resources/Images/favicon.ico" />

hadisalahi2
دوشنبه 15 دی 1393, 10:43 صبح
1.دنبال فایل favicon.ico در آدرس سایت باشید به این صورت http://www.time.ir/favicon.ico


در چند تا سایت تست کردم اکثرا این مورد رو داشتن
حالا دو تا مورد :

1- چطوری چک کنم بینم اون آیکن وجود داره یا نه؟
2-اون آیکن رو چطوری ذخیرش کنم؟



2.اگر فایل favicon.ico وجود نداشت دنبال تگ <link rel="shortcut icon> در داخل تگ head سورس سایت بگردید مثل:

این روش رو چطوری توی دلفی پیاده سازی کنم؟
یعنی چطوری به کد یا صفحه دسترسی داشته باشم؟




n

hsgpro
دوشنبه 15 دی 1393, 11:21 صبح
من اصلاً دلفی بلد نیستم فقط روش یافتن فاوآیکن سایت ها رو می دونستم گفتم شاید خودتون بلدید ذخیره اش کنید.
تو سی شارپ که برای روش اول یعنی فایل favicon.ico براحتی با WebRequest دانلودش میکنیم روش دوم هم چیزی که به ذهن من میرسه اینه که HTML صفحه رو دانلود کنیم بعد محتواش رو Parse کنیم تا لینک رو از تگ در بیاریم بعد لینک رو دانلود کنیم.

نرم افزار متن باز KeePass یه افزونه به نام Favicon Downloader داره که آیکن سایت ها رو با پشتیبانی از هر دو روش دانلود میکنه.اگر خواستید می تونید به سورس این افزونه در این لینک https://github.com/luckyrat/KeePass-Favicon-Downloader هم نگاهی بندازید.

hadisalahi2
دوشنبه 15 دی 1393, 16:41 عصر
گرفتن آیکن رو که با کد زیر حل کردم



procedure TForm1.btn1Click(Sender: TObject);
var
MS : TMemoryStream;
GIf: TIcon;
begin
MS := TMemoryStream.Create;
GIf := TIcon.Create;
try
IdHTTP1.get('http://barnamenevis.org/favicon.ico',MS);
Ms.Seek(0,soFromBeginning);
Gif.LoadFromStream(MS);
img1.Picture.Assign(GIF);


finally
FreeAndNil(GIF);
FreeAndNil(MS);
end;
end;


حالا کسی میتونه راهنمایی کنه که چطوری آیکن رو از حالت دوم که در داخل تگ ذخیره شده هست رو بدست بیارم؟