PDA

View Full Version : گرفتن قیمت ارز از سایت بانک مرکزی و نمایش ان در برنامه



negar.rafie
سه شنبه 10 بهمن 1391, 09:15 صبح
سلام دوستان
من با گرفتن مثلا یک عدد از یک سایت مشکلی ندارم مثلا از سایت http://www.tgju.org/

99197

با استفاده از کد زیر

string a = "";
TextBox html = new TextBox();
html.Text = GetHTML(new Uri("http://www.tgju.org/"));
Regex regx = new Regex("<td class=s3_3>[^>]*<", RegexOptions.IgnoreCase);
MatchCollection mactches = regx.Matches(html.Text);
foreach (Match match in mactches)
{
a = match.Value;
}
a = Regex.Replace(a, "<td class=s3_3>", "");
a = Regex.Replace(a, "<", "");
MessageBox.Show(a);

ولی در سایت بانک مرکزی چیزی معادل <td class=s3_3> وجود نداره

http://www.cbi.ir/ExRates/rates_fa.aspx
حالا باید چه کار کنم؟

mousa1992
سه شنبه 10 بهمن 1391, 09:48 صبح
سلام
بهتره برای این کار از وبسرویس ها استفاده کنی ( اگه برا جایی برنامه مینویسید روش مطمئنی نیست !)
سایتی رو که معرفی کردید رو دیدم قیمت ها و نوع ارز داخل تگ های td موجود بودن که میشه با یکم کار کردن مقادیرشون رو گرفت ولی همونطور که گفتم بهتره از وبسرویس ها استفاده کنین

موفق باشید

uniqueboy_ara
سه شنبه 10 بهمن 1391, 10:20 صبح
داخل همین سایت، برای هر ارز rss هم موجوده! میتونید از اونا استفاده کنید

negar.rafie
سه شنبه 10 بهمن 1391, 10:42 صبح
سلام
بهتره برای این کار از وبسرویس ها استفاده کنی ( اگه برا جایی برنامه مینویسید روش مطمئنی نیست !)
سایتی رو که معرفی کردید رو دیدم قیمت ها و نوع ارز داخل تگ های td موجود بودن که میشه با یکم کار کردن مقادیرشون رو گرفت ولی همونطور که گفتم بهتره از وبسرویس ها استفاده کنین

موفق باشید

میشه بیشتر توضیح بدید و یه مثال بزنید؟

mousa1992
سه شنبه 10 بهمن 1391, 11:05 صبح
مثالو متاسفانه ندارم ولی خب باید با کلاس string , متدهاش کار کنی( سورس سایت رو میگیرید و توی یک متغیر قرارش میدین و با استفاده از مشخصه هایی که وجود داره مقادیر مورد نظرتون رو استخراج میکنین ) به این سایت (http://www.hamcodi.ir/csharp) ی سری بزن ویدئو های اموزشی خوبی هست ( بخش مثال های کاربردی #C در Visual Studio که پایین سمت چپ صفحه قرار گرفته و اسم فیلم اموزشیه هم web scraper هست )
ولی اگه بتونی ی وبسرویس خوب پیدا کنی برای این کار که میتونی با مسئولین همون سایت سکه و ارز تماس بگیری ببینم همچین امکاناتی رو قرار دادن یا نه
کا کردن با وبسرویس ها خیلی راحته سایت هایی که این امکانو قرار میدن با خرید نمونه کد های سی شارپ رو هم در اختیراتون قرار میدن

mousa1992
سه شنبه 10 بهمن 1391, 11:28 صبح
<TR class="ExRate-TR"> <TD> USD </TD> <TD nowrap> دلار آمريکا </TD> <TD> ۱۲,۲۶۰ </TD> <TD> <img src="/Images/eq.gif (http://barnamenevis.org/view-source:http://www.cbi.ir/Images/eq.gif)" width="9" height="9" alt="eq" title="" /> </TD> <TD> <input type="image" name="ctl00$ucBody$ucContent$ctl00$rptItemList$ctl01$img Chart" id="ctl00_ucBody_ucContent_ctl00_rptItemList_ctl01_img Chart" src="../Images/icon_chart.gif (http://barnamenevis.org/view-source:http://www.cbi.ir/Images/icon_chart.gif)" alt="نمودار" style="height:16px;width:21px;border-width:0px;" /> </TD> <TD> <a id="ctl00_ucBody_ucContent_ctl00_rptItemList_ctl01_hyp RSS" AlternateText="RSS" href="../ExRatesRSS.aspx?cid=1 (http://barnamenevis.org/view-source:http://www.cbi.ir/ExRatesRSS.aspx?cid=1)"><img src="../Skins/Default/fa/images/ico_rss.gif (http://barnamenevis.org/view-source:http://www.cbi.ir/Skins/Default/fa/images/ico_rss.gif)" style="border-width:0px;" /></a> </TD> </TR>


این ی تیکه کد از سایتیه که معرفی کردید که قیمت دلار امریکا رو نشون میده
توی ویدئوهای اموزشی نحوه ی گرفتن سورس سایت اموزش داده شده و چجوری بتونین اطلاعات مورد نظرتون رو استخراج کنین ( که همونطور که گفتم نمیشه به این روش اعتماد کرد چون با تغییر در ساختار سایت برنامه شما دیگه درست کار نمیکنه)
همونطور که دوستمون گفتند میتونید از rss ها هم استفاده کنید که اموزش هاش تو سایت هست
ترجیحا از وب سرویس استفاده کن
موفق باشید

negar.rafie
سه شنبه 10 بهمن 1391, 12:19 عصر
ممنون
همون طور که میگید مطمئن نیست
میشه بگید چطور از rss استفاده کنم و اون عدد مورد نظر را به دست بیارم؟

samadblaj
سه شنبه 10 بهمن 1391, 13:32 عصر
سلام روزتون بخیر هیچ کدوم روش ایمن و منطقی نیستند چون با تغییر ساختار و شاخه های rss یا سایت اطلاعات در منابع از بین خواهد رفت...

بهترین روش در صورت وجود استفاده از API سایت هست...

و اگه اشتباه نکنم ساختار سایت های همچین مراکزی در فواصل زمانی کوتاهی برای امنیت بیشتر تغییر میکنه.

موفق باشید./

negar.rafie
سه شنبه 10 بهمن 1391, 14:14 عصر
منظورتون از API سایت چی هستش؟
لطفا راهنمایی کنید

samadblaj
سه شنبه 10 بهمن 1391, 14:33 عصر
منظورتون از API سایت چی هستش؟
لطفا راهنمایی کنید

سلام گفتم در صورت وجود میتونید استفاده کنید...

با پشتیبانی تماس بگیرید حتما باید همچین dll هایی برای اینکار وجود داشته باشه...