ওয়েব ক্যাপচার এবং রূপান্তর করার সরঞ্জামসমূহ

GrabzIt সহ পিএইচপি স্ক্র্যাপার এপিআই

পিএইচপি স্ক্র্যাপার এপিআই

আমাদের পিএইচপি স্ক্র্যাপার এপিআই গ্র্যাবজিট এর ওয়েব স্ক্র্যাপারের শক্তিটি আপনার অ্যাপ্লিকেশনটিতে যুক্ত করার অনুমতি দেয়। সাধারনত পিএইচপি স্ক্র্যাপিং অ্যাপ্লিকেশনগুলির দ্বারা প্রয়োগ করা সাধারণ এইচটিএমএল ডিওএম পার্সারের তুলনায় এটি অনেক ভাল সমাধান।

আপনার সাথে শুরু করতে হবে একটি স্ক্র্যাপ তৈরি করুন। তারপরে আপনার অ্যাপ্লিকেশনটিতে ওয়েবে বিশ্লেষণ করতে আপনাকে অবশ্যই তা করতে হবে ডাউনলোড পিএইচপি গ্রন্থাগার। শেষ পর্যন্ত, শুরু করার জন্য, ডাউনলোডের ভিতরে অবস্থিত উদাহরণ হ্যান্ডলারটি দেখুন।

প্রক্রিয়া স্ক্র্যাপড ডেটা

স্ক্র্যাপড ডেটা প্রক্রিয়া করার সহজতম উপায় হ'ল জেএসওএন বা এক্সএমএল অবজেক্ট হিসাবে ডেটা অ্যাক্সেস করা। এটি সহজে ডেটা ম্যানিপুলেটেড এবং কোয়েরি করতে সক্ষম করে। জেএসওএনটি নিম্নলিখিত সাধারণ বিন্যাসে কাঠামোযুক্ত করা হবে, যার সাথে অবজেক্ট বৈশিষ্ট্য হিসাবে ডেটাসেট নাম থাকবে। নিজেই প্রতিটি কলামের নামের সাথে অন্য একটি বৈশিষ্ট্য হিসাবে অবজেক্টের একটি অ্যারে ধারণ করে।

{
  "Dataset_Name": [
    {
      "Column_One": "https://grabz.it/",
      "Column_Two": "Found"
    },
    {
      "Column_One": "http://dfadsdsa.com/",
      "Column_Two": "Missing"
    }]
}

সবার আগে এটি অবশ্যই মনে রাখতে হবে যে হ্যান্ডলারটি সমস্ত উত্তোলিত ডেটা প্রেরণ করা হবে। এর মধ্যে এমন ডেটা অন্তর্ভুক্ত থাকতে পারে যা জেএসএন বা এক্সএমএল অবজেক্টে রূপান্তর করা যায় না। সুতরাং প্রক্রিয়া করার আগে আপনি যে ধরণের ডেটা গ্রহণ করছেন তা অবশ্যই পরীক্ষা করা উচিত।

$scrapeResult = new \GrabzIt\Scraper\ScrapeResult();

if ($scrapeResult->getExtension() == 'json')
{
    $json = $scrapeResult->toJSON();
    foreach ($json->Dataset_Name as $obj)
    {
        if ($obj->Column_Two == "Found")
        {
            //do something
        }
        else
        {
            //do something else
        }
    }
}
else
{
    //probably a binary file etc save it
    $scrapeResult->save("results/".$scrapeResult->getFilename());
}

উপরের উদাহরণটি ডেটাসেটের সমস্ত ফলাফলের মধ্যে কীভাবে লুপ করবেন তা দেখায় Dataset_Name। তারপরে প্রতিটি ফলাফলের জন্য মানটির উপর নির্ভর করে একটি নির্দিষ্ট ক্রিয়া করুন action Column_Two অ্যাট্রিবিউট। এছাড়াও যদি হ্যান্ডলারের দ্বারা প্রাপ্ত ফাইলটি কোনও JSON ফাইল না হয় তবে তা ঠিক saveফলাফল ডিরেক্টরিতে d। যদিও স্ক্র্যাপআরসাল্ট শ্রেণি সমস্ত পোস্ট করা ফাইল গ্র্যাজআইটি সার্ভার থেকে উত্পন্ন হয়েছে তা নিশ্চিত করার চেষ্টা করে। ফাইলগুলির সম্প্রসারণের আগে তাদেরও পরীক্ষা করা উচিত saved.

স্ক্র্যাপেরসাল্ট পদ্ধতি

স্ক্র্যাপআরসাল্ট শ্রেণীর সমস্ত পদ্ধতি নীচে তালিকাভুক্ত করা হয়েছে যা স্ক্র্যাপ ফলাফলগুলি প্রক্রিয়া করতে ব্যবহৃত হতে পারে।

ডিবাগ করা

আপনার পিএইচপি হ্যান্ডলারটি ডিবাগ করার সর্বোত্তম উপায় হ'ল এর থেকে স্ক্র্যাপের জন্য ফলাফলগুলি ডাউনলোড করা ওয়েব স্ক্র্যাপ পাতা। তারপর save অ্যাক্সেসযোগ্য স্থানে আপনার যে ফাইলটির সমস্যা হচ্ছে। এরপরে এই ফাইলটির পাথ স্ক্র্যাপেরেসাল্ট ক্লাসের কনস্ট্রাক্টরের কাছে যেতে পারে। নীচে দেখানো হিসাবে এটি প্রতিবার নতুন স্ক্র্যাপ না করেই আপনাকে আপনার হ্যান্ডলারটি ডিবাগ করতে দেয়।

$scrapeResult = new \GrabzIt\Scraper\ScrapeResult("data.json");

//the rest of your handler code remains the same

একটি স্ক্র্যাপ নিয়ন্ত্রণ করা

গ্র্যাবিজআইটির ওয়েব স্ক্র্যাপার এপিআই দিয়ে আপনি কোনও স্ক্র্যাপের সেই স্থিতি পরিবর্তন করতে পারেন। প্রয়োজন মতো দূরবর্তীভাবে শুরু করে, থামিয়ে দিয়ে, সক্ষম করে বা স্ক্র্যাপ অক্ষম করে। এটি নীচের উদাহরণে দেখানো হয়েছে। কাঙ্ক্ষিত স্ক্র্যাপের স্থিতি সহ স্ক্র্যাপের আইডি পাস করে SetScrapeStatus পদ্ধতি।

$client = new \GrabzIt\Scraper\GrabzItScrapeClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
//Get all of our scrapes
$myScrapes = $client->GetScrapes();
if (empty($myScrapes))
{
    throw new Exception("You haven't created any scrapes yet! Create one here: https://grabz.it/scraper/scrape/");
}
//Start the first scrape
$client->SetScrapeStatus($myScrapes[0]->ID, "Start");
if (count($myScrapes[0]->Results) > 0)
{
    //re-send first scrape result if it exists
    $client->SendResult($myScrapes[0]->ID, $myScrapes[0]->Results[0]->ID);
}

GrabzItScrapeClient পদ্ধতি এবং বৈশিষ্ট্য

ওয়েব স্ক্র্যাপগুলিকে নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে এমন গ্র্যাবসআইটসক্র্যাপ্লায়েন্ট শ্রেণীর সমস্ত পদ্ধতি এবং বৈশিষ্ট্য নীচে তালিকাভুক্ত করা হয়েছে।