masoud net
6 سال پیش توسط masoud net مطرح شد
19 پاسخ

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

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


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
2

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

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

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


masoud net
@netwons 6 سال پیش مطرح شد
1

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
1

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


masoud net
@netwons 6 سال پیش مطرح شد
1

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
1

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


masoud net
@netwons 6 سال پیش مطرح شد
1

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
1

@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 net
@netwons 6 سال پیش مطرح شد
1

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش آپدیت شد
1

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


masoud net
@netwons 6 سال پیش مطرح شد
1
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
1

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


masoud net
@netwons 6 سال پیش آپدیت شد
1

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش مطرح شد
1

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

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

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


masoud net
@netwons 6 سال پیش مطرح شد
1

@ali.bayat

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 6 سال پیش آپدیت شد
1

@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 net
@netwons 6 سال پیش آپدیت شد
1

@ali.bayat

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


masoud net
@netwons 6 سال پیش مطرح شد
1

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


amin.all
@amin.allahrabi16676 4 سال پیش مطرح شد
0

سلام
چطور میتوانم از وب سرویس بورس استفاده کنم؟
کار با لاراول رو بلد هستم.


amin.all
@amin.allahrabi16676 4 سال پیش مطرح شد
0

service.tsetmc.com/webservice/TsePublicV2.asmx


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام