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

milicom

New Member
سلام من می خوام که به قیمت دلاری که توی این سایت زده میشه در یک نرم افزار مثل فلش یا توی یک سایت دیگه دسترسی پیدا کنم .
http://www.sarrafitourist.com/

می خوام لینک این مقدار رو داشته باشم . چکار باید کنم ؟
 

meraj-persian

Active Member
سلام.
برای این کار باید از زبان های برنامه نویسی استفاده کنی که با موضوع html فرق داره و باید تو موضوع Asp یا Php یا java script مطرحش کنی.
اما اگه برنامه نویسی بلد نیستی و فقط با html بخوای اینکار رو کنی میتونی از کد iframe استفاده کنی.
با این کد یه پنجره جدید تو سایت تو باز میشه که باید خودت جوری تنظیمش کنی که فقط قیمت دلار رو نشون بده.
در ضمن به نظر من بهتره از کدهای جاوا اسکریپت که توی سایت های دیگه هست استفاده کنی.
 

milicom

New Member
سلام من می خوام که به قیمت دلاری که توی این سایت زده میشه در یک نرم افزار مثل فلش یا توی یک سایت دیگه دسترسی پیدا کنم .
http://www.sarrafitourist.com/

می خوام لینک این مقدار رو داشته باشم . چکار باید کنم ؟
 

kassit

Member
صرفا با جاوا اسکریپت مقدور نیست.

فقط قصد نمایش قیمت رو دارید یا می خوایید روش پردازش انجام بدید ؟
اینکه مشخص باشه قیمت رو از کجا گرفتید مهمه ؟
 

peyman136

کاربر متخصص مولتی مدیا بیلدر
احتمالا خودشون این امکان رو فراهم کردن بررسی کنید اما اگه نداشته باشن میتونید از CURL توی php کمک بگیرید
 

farik

Well-Known Member
باسلام..
حرف kassit درسته و همونطور که دوست دیگمون هم گفت با curl یا توابع کار با سوکت میشه اطلاعات رو خوند(با ارسال یک درخواست http)..اما یک روش هم هست که اگرچه از نظر ظاهری قضیه لو نمیره ولی تو کد لو میره و کد رو غیر استندارد هم میکنه و اونم اینه که یک فریم از سایت رو لود کنین..بعد با استفاده از عناصر DOM به عناصر اون دسترسی پیدا کنین . اون رو بخونین..
موفق باشید..
 

eAmin

Well-Known Member
اما یک روش هم هست که اگرچه از نظر ظاهری قضیه لو نمیره ولی تو کد لو میره و کد رو غیر استندارد هم میکنه و اونم اینه که یک فریم از سایت رو لود کنین..بعد با استفاده از عناصر DOM به عناصر اون دسترسی پیدا کنین . اون رو بخونین..
شما نمیتونید به داده هایی که از دامین خارجی ( غیر از دامین خودتون ) لود شده دسترسی داشته باشید. بخاطر مسائل امنیتی. پیشنهاد میکنم این صفحه رو مطالعه بفرمائید.
با روشی مثل JSONP میشه اطلاعات رو خوند، البته با استفاده از API هایی مثل YQL.
 

farik

Well-Known Member
باسلام..
میدونم ...یادمه دوسال قبل همین سوال رو اینحا کردم..ولی شما میتونین با استفاده از یک frame این کار رو انحام بدین...و میدونم که غیر استاندارد هست..اگرچه نحوه کار با json , YQL رو از آخرم اون زمان متوجه نشدم...ولی راه حل خودم یک سوکت سمت سرور بود و یک ارسال داده به اون صفحه..
موفق باشید..
 

eAmin

Well-Known Member
باسلام..
میدونم ...یادمه دوسال قبل همین سوال رو اینحا کردم..ولی شما میتونین با استفاده از یک frame این کار رو انحام بدین...و میدونم که غیر استاندارد هست..اگرچه نحوه کار با json , YQL رو از آخرم اون زمان متوجه نشدم...ولی راه حل خودم یک سوکت سمت سرور بود و یک ارسال داده به اون صفحه..
موفق باشید..
آهان من فکر کردم منظور شما iFrame هست که مثل اینکه بنده اشتباه متوجه منظور شما شدم.
YQL و JSONP چیز خیلی خاصی نداره و خیلی ساده تر از اون چیزی هست که فکرش رو بکنید، در هر حال این یک مثال خیلی ساده با jQuery که میتونید تمامی اطلاعات سایت رو استخراج کنید و در قالب های مختلف در دسترس داشته باشید (xml,json,html) و هر جور که خواستید اطلاعات رو پارس کنید:
[HTMLS]
<script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
<script>
var api = 'http://query.yahooapis.com/v1/public/yql?callback=cb';
var yql = 'select * from html where url="http://www.sarrafitourist.com/"';

function JSONP(callback) {
$.getJSON(api, { q: yql, format: 'json' }, function cb(data) {
if ( data.results[0] ) {
data = data.results[0].replace(/<script[^>]*>[\s\S]*?<\/script>/gi, '');
if ( typeof callback === 'function') callback(data);
}
});
}

JSONP(function(data) {
console.log(data);
});
</script>
[/HTMLS]
 

farik

Well-Known Member
باسلام..
ابتدا باید با دستور Curl آشنا بشین.اینجا میتونین مستندات رو ببینین:http://php.net/manual/en/book.curl.php
خوب حالا شما یک صفحه php مسازین و با اون صفحه مورد نظر رو باز میکنین و با عبارات منظم اون قسمت از سایت رو که میخواین استخراج میکنین{اطلاعات در مورد عبارات منظم:http://php.net/manual/en/function.preg-match.php}
خوب حالا این صفحه رو تو همون دامنه ای که سایت توشه آپلود میکنین و بعدش هم در مواقع لزوم هر وقت خواستین داده رو بگیرین صفحه رو باز میکنین..
حالا دیگه کارهای تزئینی با خودتون..مثل cache کردن یا تولید عکس و...
موقف باشید...
 

جدیدترین ارسال ها

بالا