JSON এবং CSV ফরম্যাটে ডেটা স্টোর করা

PhantomJS দিয়ে Web Scraping - ফ্যান্টমজেএস (PhantomJS) - Web Development

207

PhantomJS একটি headless browser (বিশেষভাবে ব্যবহৃত WebKit ইঞ্জিন) যা স্ক্রিপ্টিংয়ের মাধ্যমে ওয়েব পেজের উপর কাজ করতে সক্ষম। এটি সাধারণত automation, web scraping, এবং testing এর জন্য ব্যবহৃত হয়। PhantomJS ব্রাউজারের মতো কাজ করলেও, এটি কোনো GUI ছাড়া চলে এবং সার্ভার সাইডে বা কমান্ড লাইন ইন্টারফেস (CLI) এর মাধ্যমে বিভিন্ন কাজ সম্পাদন করতে সক্ষম।

এখন, আপনি যদি PhantomJS এর মাধ্যমে JSON বা CSV ফরম্যাটে ডেটা স্টোর করতে চান, তবে আপনি PhantomJS scripting ব্যবহার করে এই ডেটা ফরম্যাটে তথ্য সংরক্ষণ করতে পারেন। এখানে এর কিছু ব্যবহারিক উদাহরণ দেওয়া হলো।


1. PhantomJS এবং JSON ফরম্যাটে ডেটা স্টোর করা

JSON (JavaScript Object Notation) হল একটি লাইটওয়েট ডেটা বিনিময় ফরম্যাট যা মানুষ দ্বারা পড়া সহজ এবং মেশিন দ্বারা পার্স করা সহজ। PhantomJS এর মাধ্যমে আপনি ওয়েব পেজ থেকে ডেটা সংগ্রহ করে সেটি JSON ফরম্যাটে সংরক্ষণ করতে পারেন।

PhantomJS দিয়ে JSON স্টোর করার উদাহরণ:

script.js (PhantomJS স্ক্রিপ্ট):

var page = require('webpage').create();  // Create a new webpage instance
var fs = require('fs');  // File system module to write the output file

page.open('http://example.com', function(status) {
    if (status === "success") {
        var data = page.evaluate(function() {
            // Extract data from the webpage
            var title = document.title;
            var bodyText = document.body.innerText;

            // Create a JSON object to store data
            return {
                pageTitle: title,
                content: bodyText
            };
        });

        // Write the extracted data into a JSON file
        fs.write('output.json', JSON.stringify(data, null, 4), 'w'); // Format with indentation

        phantom.exit();
    } else {
        console.log("Failed to load the page.");
        phantom.exit(1);
    }
});

Explanation:

  • page.evaluate: এটি ওয়েবপেজে JavaScript কোড চালানোর জন্য ব্যবহার করা হয়। এখানে এটি ওয়েব পেজের টাইটেল এবং কন্টেন্ট এক্সট্র্যাক্ট করছে।
  • fs.write: ফাইল সিস্টেম মডিউলটি JSON ফাইল লেখার জন্য ব্যবহৃত হচ্ছে। এখানে JSON ডেটা output.json ফাইলে সংরক্ষণ করা হচ্ছে।
  • JSON.stringify: JSON অবজেক্টকে স্ট্রিং এ রূপান্তরিত করতে এই ফাংশনটি ব্যবহার করা হয়। দ্বিতীয় প্যারামিটার null, 4 একটি ইনডেন্টেশন ফরম্যাট সৃষ্টির জন্য।

Running the Script:

phantomjs script.js

এটি output.json নামে একটি ফাইল তৈরি করবে যাতে পেজের টাইটেল এবং কন্টেন্ট JSON ফরম্যাটে থাকবে।


2. PhantomJS এবং CSV ফরম্যাটে ডেটা স্টোর করা

CSV (Comma-Separated Values) একটি সাধারণ ডেটা ফরম্যাট যা সোজাসুজি টেবিল ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। PhantomJS স্ক্রিপ্ট ব্যবহার করে আপনি ওয়েব পেজ থেকে তথ্য সংগ্রহ করে CSV ফরম্যাটে সেভ করতে পারেন।

PhantomJS দিয়ে CSV স্টোর করার উদাহরণ:

script.js (PhantomJS স্ক্রিপ্ট):

var page = require('webpage').create();  // Create a new webpage instance
var fs = require('fs');  // File system module to write the output file

page.open('http://example.com', function(status) {
    if (status === "success") {
        var data = page.evaluate(function() {
            // Extract data from the webpage
            var title = document.title;
            var bodyText = document.body.innerText;

            // Return data in CSV format (comma-separated values)
            return [
                ['Page Title', 'Content'],
                [title, bodyText]
            ];
        });

        // Convert the array into CSV format
        var csvContent = data.map(function(row) {
            return row.join(',');
        }).join('\n');

        // Write the CSV content to a file
        fs.write('output.csv', csvContent, 'w');  // Write as CSV file

        phantom.exit();
    } else {
        console.log("Failed to load the page.");
        phantom.exit(1);
    }
});

Explanation:

  • page.evaluate: এখানে, পেজের টাইটেল এবং কন্টেন্টের ডেটা নিয়ে আসা হচ্ছে এবং তা একটি 2D array আকারে ফিরিয়ে দেওয়া হচ্ছে, যেটি CSV ফরম্যাটে রূপান্তরিত হবে।
  • map এবং join: এই দুটি মেথড দিয়ে ডেটা CSV ফরম্যাটে কনভার্ট করা হচ্ছে।
  • fs.write: ফাইল সিস্টেম মডিউলটি CSV ফাইল লেখার জন্য ব্যবহৃত হচ্ছে।

Running the Script:

phantomjs script.js

এটি output.csv নামে একটি ফাইল তৈরি করবে, যাতে ওয়েব পেজের টাইটেল এবং কন্টেন্ট CSV ফরম্যাটে থাকবে।


PhantomJS এর মাধ্যমে আপনি JSON এবং CSV ফরম্যাটে ডেটা স্টোর করতে পারবেন সহজে। এতে করে আপনি ওয়েব পেজ থেকে ডেটা এক্সট্র্যাক্ট করে তা ফাইল সিস্টেমে সেভ করতে পারবেন, যা পরবর্তীতে ডেটা অ্যানালাইসিস বা অন্য কোনো উদ্দেশ্যে ব্যবহার করা যেতে পারে। JSON ফরম্যাট হল সাধারণত ডেটা এক্সচেঞ্জের জন্য ব্যবহৃত ফরম্যাট, এবং CSV ফরম্যাট সহজ টেবিল ডেটা স্টোর করার জন্য জনপ্রিয়। PhantomJS এর সাথে web scraping, automation, এবং data extraction কাজ আরও শক্তিশালী এবং সহজ হয়ে ওঠে।

Content added By
Promotion

Are you sure to start over?

Loading...