نحوه استخراج اطلاعات از وب (صفحات وب)
با سلام و عرض ادب
(ابتدا معذرت خواهی میکنم از همه دوستان اگه سوال مبتدیانه هس )
دوستان برای اینکه بتونم اطلاعاتی رو از درون صفحات دیگه استخراج کنم چیکار باید بکنم؟ مثلا یه سایت خبری داریم که میخوام بعضی از اخبارش رو استخراج کنم و استفاده کنم حالا باید چیکار کنم
با تشکر از همه
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
شما باید محتویات یه صفحه رو بخونین و بعد اطلاعاتی رو که میخاین بردارین
با این تابع
http://php.net/manual/en/function.file-get-contents.php
البته کتابخونه های زیادی هم واسه این کار وجود داره...
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
دوستان از اونجائی که من کاملا مبتدی هستم در این زمینه در صورت امکان لطفا لینک های آموزشی فارسی بهم بدین یا کلمات کلیدی بگین توی گوگل سرچ کنم
مرسی
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
منبع فارسی به زور میتونید در این زمینه پیدا کنید بهتره همون منابع انگلیسی رو هرطور هست بخونید
fetch a web page php
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
طبق تجربه خودم برای جستجوگرهای خبری به نظرم از کلاس DOM استفاده کنی بهتره !!!
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
شما می تونید هم از کلاس های عالی که نوشته شده استفاده کنید. مثل اینها
http://phptrends.com/?q=curl
و هم می تونید خودون با curl و xpath یا regex این کار رو انجام بدید.
تو گوگل هم می تونید کلمات زیر رو جست و جو کنید.
php curl
php scraper
php xpath curl
php curl get web deatil tutorial
php curl tutorial scraper
سایت های آموزشی:
http://code.tutsplus.com/tutorials/h...ary--net-11856
http://www.jacobward.co.uk/web-scrap...p-curl-part-1/
http://stackoverflow.com/search?q=curl+php
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
دوستان ببینین من درست متوجه شدم
باید با curl کل صفحه رو توی هاست خحودم دانلود کنم بعد با کمک xpath درون اون حرکت کرده و مقدار مورد نظر را بیرون بکشم؟
کسی از دوستان امکان داره کتابخونه ای و نحوه استفاده از اون رو بگه
(من اندروید کارم بخاطر همین آشنائی کاملی ندارم لطفا کمک کنید)
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
دوستان طرح کلی این کار به چه صورته ؟؟
همه دستورات رو باید توی یه صفحه بنویسم؟ دستورات کپی کردن صفحه و بعد دستورات xpath و استخراج همه باید توی یه صفحه باشه یا اینکه صفحات باید مجزا باشه؟
عزیزان کارم گیره در صورت امکان کمک کنید ؛ امیدوارم بتونم بعدا جبران کنم براتون
با تشکر از همه
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
شما کل صفحه رو بگیر با هرچیزی که امکانش هست curl توابع file_get_content یا هر تابع دیگه بعد داخل یک متغیر بریزش...
حالا شما یک تکست دارید که محتوای یک سایته و با regex مقادیری رو که میخوای ازش دربیار...
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
میشه در صورت امکان یه مثال بذارید ( هر چند کوتاه ) برای درک بهتر مطلب
از همه دوستانی که دارن کمک میکنن سپاسگذارم
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
نقل قول:
نوشته شده توسط
hamedg1366
میشه در صورت امکان یه مثال بذارید ( هر چند کوتاه ) برای درک بهتر مطلب
از همه دوستانی که دارن کمک میکنن سپاسگذارم
به این صورت باید عمل کنید:
//nemone regex vase peyda kardane tarikh ya har chizy ke aval neveshte bad adad bashe
$regex = "/[a-zA-Z]+ (\d+)/";
//reshteei ke masalan mitone ye source site bashe
$input_string = "June 24, August 13, and December 30, stuff 999";
if (preg_match_all($regex, $input_string, $matches_out))
{
print_r($matches_out);
}
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
curl حکم یک خزنده رو داره که به سایت مورد نظر میره. بعد به وسیله xpath یا regex آدرس قسمت مورد نظر از صفحه رو برای استخراج به curl داده می شه و اون هم اطلاعات رو استخراج می کنه.
مثال عملی:
http://ahoj.io/parsing-html-pages-using-xpath
http://www.earthinfo.org/xpaths-with-php-by-example/
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
اگه نیز به جستجو به درخت Dom دارین بهتره یه نگاه هم به کتابخونه SimplehtmlDom
http://simplehtmldom.sourceforge.net/
بندازید.
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
دوستان دست تک تک تون رو می بوسم که دارین کمک میکنید بهم.
با کمک شکا عزیزان تا این قسمت پیش رفتم :
<?php
ini_set('default_charset',"UTF-8");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'http://www.barnamenevis.org/external.php?type=RSS2&forumids=30');
$file_path = "dwn_page_web/";//baraye ejad masir dwn
if(!is_dir($file_path)){
mkdir($file_path);
}
$fp = fopen($file_path."/".'barnamenevisRSS.xml', 'w');//ejad file barnamenevisRSS.xml dar masir morede nazar
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec ($ch);
curl_close ($ch);
fclose($fp);
$contents = file_get_contents($file_path."/".'barnamenevisRSS.xml');//khandan va rikhtan darone motegayyer
print $contents;
print "/n";
?>
یه پوشه توی هاست ایجاد میکنم و اطلاعات رو توش با کمک Curl کپی میکنم، سپس اونارو برای پردازش توی یه متغییر بنام contents قرار میدم.
حالا یه آموزش برای xpath پیدا کردم با این لینک ، اونجا توی گام دوم میگه یه فایل html باید ایجاد کرد و ... الان من موندم چیکار کنم ! یعنی یه نابع باید ایجاد کنم و دستوراتم رو اونجا بنویسم یا اصلا نیازی به این کارا نیس ؟
کل اطلاعات صفحه رو توی متغییر دارم الان چیکار باید بکنم تا مثلا به تگ مربوطه برسم
؟
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
یادم رفت بگم من اون دستورات html رو کجا باید بنویسم ؟ در ادامه دستوراتم یا توی صفحه دیگه ؛ اگه توی صفحه دیگه باید این کار رو انجام بمد چطور اون رو فراخوانی کنم و اطلاعات رو بهش پاس بدم
خدا هموتن رو خیر و برکت بده
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
با عرض پوزش .... Up
:افسرده:
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
سلام
والا نمیدونم این آموزش چیکار کرده یا میخواد بکنه چون نخوندم فکر هم نمیکنم کسی بخونه البته با عرض معذرت!
ولی نکته اینه که تو الان یک متغییر رشته ای داری به اسم $contents که میتونی با روشهای مختلفی به اون تگ مورد نظرت دست پیدا کنی!
مثلا میتونی از Regexp استفاده کنی یا اصن از توابع رشته ای مثل strstr استفاده کنی!
این لینک شاید به دردت بخوره!
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
نقل قول:
نوشته شده توسط
hamedg1366
دوستان دست تک تک تون رو می بوسم که دارین کمک میکنید بهم.
با کمک شکا عزیزان تا این قسمت پیش رفتم :
یه پوشه توی هاست ایجاد میکنم و اطلاعات رو توش با کمک Curl کپی میکنم، سپس اونارو برای پردازش توی یه متغییر بنام contents قرار میدم.
حالا یه آموزش برای xpath پیدا کردم
با این لینک ، اونجا توی گام دوم میگه یه فایل html باید ایجاد کرد و ... الان من موندم چیکار کنم ! یعنی یه نابع باید ایجاد کنم و دستوراتم رو اونجا بنویسم یا اصلا نیازی به این کارا نیس ؟
کل اطلاعات صفحه رو توی متغییر دارم الان چیکار باید بکنم تا مثلا به تگ مربوطه برسم
؟
شما می خواین اطلاعات استخراجی از یک صفحه رو تو دیتابیس ذخیره کنید یا تو فایل های دیگه.
بعد تو این کد فقط اومده کل صفحه رو با همه جزئیات تو فایل شما ذخیره کرده ، بدون اینکه مشخص کرده باشید چه قسمتی رو اجرا کنه.
الان دقق ممعلوم نیست.
1- شما می خواید rss استخراج کنید یا صفحه html ؟
2- می خواید تو دیتابیس ذخیره کنید یا نه؟
:افسرده:
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
پوزش میطلبم که تاپیک قدیمی میارم بالا ولی بازهم اگه کسی هست میتونه کمک کنه ممنون میشم:قلب:
نقل قول:
نوشته شده توسط
tazeha
شما می خواین اطلاعات استخراجی از یک صفحه رو تو دیتابیس ذخیره کنید یا تو فایل های دیگه.
بعد تو این کد فقط اومده کل صفحه رو با همه جزئیات تو فایل شما ذخیره کرده ، بدون اینکه مشخص کرده باشید چه قسمتی رو اجرا کنه.
الان دقق ممعلوم نیست.
1- شما می خواید rss استخراج کنید یا صفحه html ؟
2- می خواید تو دیتابیس ذخیره کنید یا نه؟
:افسرده:
اگه امکانش هست یک مـثال برای ذخیره داخل دیتابیس بیارید
ما میایم دسترسی به دیتابیس رو به فایل میدیم,بعدش چجوری بتونیم یه قسمت خاص از یک صفحه رو استخراج کنیم و بریزیم داخل دیتابیس!؟
مثلا قیمت دلار یا سکه ک داخل یک صفحه هست رو فقط قیمتشو استخراج کنیم و داخل دیتابیس وارد کنیم
نقل قول: نحوه استخراج اطلاعات از وب (صفحات وب)
با استفادخه از توابع DOMDocument یا کتابخونه هایی مثل phpQuery میتونی بین کد های html حرکت کنی و داده های مد نظرت رو در بیاری
بعد داده هایی که مد نظرته رو خارج کردی از کد های html میریزی توی دیتبایس