PDA

View Full Version : سوال: درخواست الگوريتم



adel.86
یک شنبه 01 آذر 1388, 14:33 عصر
با سلام

من يه script ميخوام بنويسم كه وقتى ادرس صفحه وب (url) رو بهش ميدى اين كارا رو انجام بده:

وقتى ادرس رو گرفت ميخوام توى كد صفحة (page source) دنبال يه لينك مشخصى بگرده بعد لينك رو به كاربر نشون بده.


اين script بايد توى سورس (html) صفحه بگرده و به يك تگ معينى كه رسيد اون خط رو بخونه جون اون لينكى كه دنبالشم تو او خطه بعدشم اونو مثلا تو يه متغير بريزه و بعد نشونش بده.


اگه كسى ميتونه الگوريتم كاملشو بهم بگه ممنون ميشم. همينطور ميخوام بدونم براى انجام اين كار به جه تابع و يا متغيرهايى نياز دارم. و اين كه ايا تابع يا كلاس خاصى هست كه سورس صفحه رو مستقيما بهمون بده.




به هر حال اگه سؤالى دارين حتما بگين ..

s_salavati2002
یک شنبه 01 آذر 1388, 15:06 عصر
با curl می تونی محتویات یک صفحه رو بگیری بعد با regex هم تگ های مختلف رو می تونی بگیری و می تونی با شرط گذاشتن دقیقا به همون قسمتی که می خوای برسی

امیـرحسین
یک شنبه 01 آذر 1388, 18:44 عصر
این یه نمونه cURL برای گرفتن کد صفحه و پیدا کردن title صفحه است که شما باید regex رو تغییر بدید.
$handle = curl_init();
curl_setopt_array($handle,
array(
CURLOPT_URL => $url,
CURLOPT_HEADER => false,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_MAXREDIRS => 1,
CURLOPT_CONNECTTIMEOUT => 30,
CURLOPT_TIMEOUT => 3,
CURLOPT_ENCODING => "",
CURLOPT_RETURNTRANSFER => true
)
);
$result = curl_exec($handle);
curl_close($handle);

if($result === false)
return 'curl_failed';


// Get <title>
preg_match("#<title>(.*?)</title>#s", $result, $match);
if(!empty($match[1]))
return $match[1];

unset($result);