گرفتن api سایت با وب اسکرپ

- 1 هفته پیش
توسط masoud fathi آپدیت شد
masoud fathi ( 3700 تجربه )
2 هفته پیش

میشه توضیح بدید وب اسکرپ چیه و آموزشی برای گرفتن اطلاعات سایت با وب اسکرپ رو شرح بدید؟

علی بیات ( 28462 تجربه )
2 هفته پیش

@netwons
یکی از منابع اصلی داده ها، متون و محتوای موجود در سایتهای اینترنتی است.
اسکرپ عبارت است از: جمع آوری داده از طریق یک برنامه که درخواست خود را به یک سرویس دهنده وب ارسال می‌کند و پس از دریافت پاسخ، داده بدست آمده را تحلیل و اطلاعات مورد نیاز را استخراج می کند.

تولید وب اسکرپ ها به قبل از بوجود آمدن API ها برمیگردد. در آن زمان ناگزیر برای به اشتراک گذاری داده‌ها بین سرویس‌ها از وب اسکرپینگ استفاده میشد. ولی الان کاربری آن کمی تغییر کرده و به عنوان یکی از مولفه های جمع آوری اطلاعات شناخته می شوند.

در زبان فارسی وب‌اسکرپ معنای وب‌تراش یا وب‌خراش نیز می‌دهد. موفق باشید.

masoud fathi ( 3700 تجربه )
2 هفته پیش

@ali.bayat
آموزشی وب اسکرپ در php وجود داره اگه داره میشه بفرمایید فقط با مثالی شروع کنید که ساده باشه تو ذوق آدم نخوره

علی بیات ( 28462 تجربه )
2 هفته پیش

این روش منسوخ شده و با وجود API ها دیگه مورد استفاده قرار نمیگیره٬ اما لینک های زیر:

masoud fathi ( 3700 تجربه )
2 هفته پیش

بعضی سایتها api ندارن چیکار باید کرد؟

علی بیات ( 28462 تجربه )
2 هفته پیش

راه حل اصولیش طراحی وب‌سرویس برای اون سایتهاست

masoud fathi ( 3700 تجربه )
2 هفته پیش

چطوری میشه مثال بزنید در صورت امکان با php

علی بیات ( 28462 تجربه )
2 هفته پیش

@netwons

برای انجام این کار با PHP بیشتر از فریم‌ورک Lumen که کوچکشده فریم‌ورک لاراول هست استفاده میکنند

بیشترش مثل کار کردن با لاراوله.. منتها شما بجای استفاده از متد view() داخل کنترلرها و روت‌ها جهت نماش داده‌ها ... متناسب با درخواست یه ریسپانس بر می‌گردونید.

کنترلر معمولی برای نمایش داده ها:

use App\Article;

Class UsersController extends Controller 
{
    public function index() 
    {
        $articles = Article::all();
        return view('articles', compact('articles'));
    }

}

کنترلر در وب‌سرویس برای برگشت دادن json:

use App\Article;

Class UsersController extends Controller 
{
    public function index() 
    {
        $articles = Article::all();
        return response()->json($articles);
    }

}

اگر خود مدل‌های لاراول رو هم مستقیما return کنید٬ در واقع لاراول خودش برای شما json برمی‌گردونه.

توی راکت یه دوره کامل در این زمینه ارائه شده:
https://roocket.ir/series/build-a-api-with-laravel

masoud fathi ( 3700 تجربه )
2 هفته پیش

من منظورم اینکه من بیام و از سایت مثلا roocket اطلاعاتی رو بگیرم فکر کنم با وب سرویس نشه این کارو کرد

علی بیات ( 28462 تجربه )
2 هفته پیش

اگر شما به وب‌سرویس راکت دسترسی داشته باشید براحتی میتونید

masoud fathi ( 3700 تجربه )
2 هفته پیش

@ali.bayat

ذاکت چیه؟

علی بیات ( 28462 تجربه )
2 هفته پیش

اشتباه تایپی بود.

masoud fathi ( 3700 تجربه )
2 هفته پیش

اگر دسترسی نداشته باشم چی؟
از کجا بفهمم دسترسی دارم؟

علی بیات ( 28462 تجربه )
2 هفته پیش

منظور این که اِندپوینت رو بدونید:
مثلا:

https://www.roocket.ir/api/v1/users

و دسترسی هم همون احراز هویت و Authentication

masoud fathi ( 3700 تجربه )
2 هفته پیش

@ali.bayat

علی آقا ببخشید من متوجه نمیشم میشه با مثال ساده بگید چطوری؟الان من می خوام یک سری اطلاعات رو از سایتی مثلimdb بگیرم باید چیکار کنم مبشه راهنمایی کنید؟

علی بیات ( 28462 تجربه )
2 هفته پیش

@netwons
برای این کار مراجعه کن به سایت زیر:
http://www.omdbapi.com/
یه API Key بگیر و خیلی ساده میتونی استفاده کنی:

http://www.omdbapi.com/?s=Mask&apikey=200007
http://www.omdbapi.com/?t=Game%20of%20Thrones&Season=1&Episode=1&apikey=200007

مستندات خوبی هم داره. موفق باشید.

masoud fathi ( 3700 تجربه )
2 هفته پیش

@ali.bayat

حرف شما درست اما اومدیم یک سایتی api نداشت خواستیم دستی اطلاعات رو بگیریم چیکار کنیم؟

masoud fathi ( 3700 تجربه )
1 هفته پیش

کسی چیزی نمیدونه

برای ارسال پاسخ باید وارد سایت شوید