PDA

View Full Version : curl



king-net
جمعه 11 فروردین 1391, 20:39 عصر
درود و سال نو مبارک.
همونطور که می دونید وقتی با curl یک صفحه رو می گیریم ، کل صفحه گرفته میشه (عکس و ... ) اما آیا راهی هستش که فقط متن سایت رو بگیره تا سرعتِ دریافتِ صفحات بالاتر بره ؟

MostafaEs3
جمعه 11 فروردین 1391, 22:35 عصر
با file_get_contents بگیر سورس صفحه دانلود میشه بعد با تابع strip_tags تگهای اچ تی ام ال رو حذف کن ، متن بدست میاد ... اگه هم میخوای نمایش فقط بدی با این کد شدنی هستش :



<?php
$url = $_GET["url"];

$fp = fopen($url, "rb");
$pagedata = "";

while(!feof($fp)) {
$pagedata .= fgets($fp, 4096);
}
fclose($fp);

echo $pagedata;
?>


در ضمن اگه از تابع file_get_contents استفاده کردی پارامتر سوم رو هم بزن ... توی سایت اصلی php توضیح کامل داده

binyaft
جمعه 11 فروردین 1391, 23:13 عصر
درود و سال نو مبارک.
همونطور که می دونید وقتی با curl یک صفحه رو می گیریم ، کل صفحه گرفته میشه (عکس و ... ) اما آیا راهی هستش که فقط متن سایت رو بگیره تا سرعتِ دریافتِ صفحات بالاتر بره ؟

سال نو ــه شما هم مبارک :)

کی گفته وقتی با Curl صفحه ای رو میخونی تصاویرش هم خونده میشه!؟! کجا دیدی!؟:متفکر:

king-net
جمعه 11 فروردین 1391, 23:14 عصر
عزیزم انگار منظورم رو خوب نرسوندم . مشکل دریافت سورس نیستش در ضمن curl از نظر سرعت خیلی نسبت به file_get_contents بهتره . من میگم موقع گرفتن صفحه با curl مثله اینکه تصاویر هم گرفته میشه چون با زمانی که خودم صفحه رو باز می کنم زیاد تفاوت نداره ، سوال من اینه که آیا میشه curl صفحات رو متنی بگیره ؟ اینطوری سرعت خیلی بالا میره.

king-net
جمعه 11 فروردین 1391, 23:16 عصر
سال نو ــه شما هم مبارک :)

کی گفته وقتی با Curl صفحه ای رو میخونی تصاویرش هم خونده میشه!؟! کجا دیدی!؟:متفکر:
از سرعتش میشه فهمید چون اگر فقط متن رو بگیره ، کل صفحه نهایتن 10 کیلوبایت هم نمیشه و باید خیلی سریع تر عمل کنه

binyaft
شنبه 12 فروردین 1391, 00:23 صبح
از سرعتش میشه فهمید چون اگر فقط متن رو بگیره ، کل صفحه نهایتن 10 کیلوبایت هم نمیشه و باید خیلی سریع تر عمل کنه

هان پس برداشت ها از روی شواهد علمی بوده!؟
باس خدمتتون عرض کنم یک همچین چیزی نیست . CURL فقط متن صفحه رو میگیره

king-net
شنبه 12 فروردین 1391, 00:25 صبح
هان پس برداشت ها از روی شواهد علمی بوده!؟
باس خدمتتون عرض کنم یک همچین چیزی نیست . CURL فقط متن صفحه رو میگیره
پس چرا انقدر کند کار میکنه ؟ از روی شواهد علمی بگو .

binyaft
شنبه 12 فروردین 1391, 00:31 صبح
اینی که چرا انقدر کار میکنه بسته به اندازه پهنای باند و مقدار مصرف curl داره ....
اگر فقط صرفا دریافت متن هست نباید بیش از حد طول بکشه ، اما خب پردازشهایی شاید صورت میگیره که روند اجرای برنامه رو کند میکنه ( کد های خودت )
در مورد CURL باس بگم یک کتابخانه است که کار پیشرفته تری نسبت به file_get_contents میکنه ، اینکه بیاد دوباره همه درخواست های HTTP صفحه رو برداره دوباره اونا رو از سرور اصلی درخواست کنه در CURL نیست .

MMSHFE
شنبه 12 فروردین 1391, 11:53 صبح
cURL تقریباً مثل یک مرورگر عمل میکنه. توی مرورگر شما وقتی صفحه رو درخواست میکنید، فقط متن رو میگیرین و بعد از دریافت متن صفحه، مرورگر میاد تفسیرش میکنه و هرجا مثلاً تگ img دید، src اون رو هم میره درخواست میکنه. برای همین هست که میبینید سایتها اول ظاهر میشن و کم کم عکسها بارگذاری شده و به نمایش در میان. cURL هم همینطوری عمل میکنه، با این تفاوت که بعد از دریافت متن صفحه، دیگه سایر منابع رو درخواست نمیکنه. حالا میتونید درصورت تمایل بعد از دریافت محتوا، با کلاس DOMDocument صفحه رو پردازش کنید و فقط محتوای متنی رو استخراج کنید و تصاویر و... رو از توش حذف کنید اما این مسئله تأثیری در سرعت دریافت صفحه توسط cURL نداره و فقط وقتی بخواین نمایشش بدین، سرعت رو بالا میبره. موفق باشید.