راکت

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

19 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

19
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

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

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

masoud net
masoud net
@netwons

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

شاید پاسخ شما همین‌جا باشد

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

masoud net
masoud net
@netwons

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

masoud net
masoud net
@netwons

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

@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
masoud net
@netwons

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

masoud net
masoud net
@netwons
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

masoud net
masoud net
@netwons

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

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

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

masoud net
masoud net
@netwons

@ali.bayat

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

@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
masoud net
@netwons

@ali.bayat

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

masoud net
masoud net
@netwons

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

amin.all
amin.all
@amin.allahrabi16676

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

amin.all
amin.all
@amin.allahrabi16676

service.tsetmc.com/webservice/TsePublicV2.asmx

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

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