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

পাইথনের জন্য ওয়েব স্ক্র্যাপার এপিআই পাইথন স্ক্র্যাপার এপিআই

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

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

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

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

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

scrapeResult = ScrapeResult.ScrapeResult()

if scrapeResult.getExtension() == 'json':
    json = scrapeResult.toJSON()
    for json["Dataset_Name"] in 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 এবং এর মানের উপর নির্ভর করে নির্দিষ্ট ক্রিয়াগুলি করুন do Column_Two অ্যাট্রিবিউট। এছাড়াও যদি হ্যান্ডলারের দ্বারা প্রাপ্ত ফাইলটি কোনও JSON ফাইল না হয় তবে তা ঠিক saveফলাফল ডিরেক্টরিতে d। স্ক্র্যাপআরসাল্ট শ্রেণি যখন গ্রাবাজিট সার্ভার থেকে সমস্ত পোস্ট করা ফাইলের উত্স সৃষ্টি করে তা নিশ্চিত করার চেষ্টা করে তবে ফাইলগুলির সম্প্রসারণটিও তাদের পরীক্ষা করার আগে পরীক্ষা করা উচিত While saved.

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

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

  • string getExtension() - স্ক্র্যাপের ফলে যে কোনও ফাইলের এক্সটেনশন পায়।
  • string getFilename() - স্ক্র্যাপের ফলে যে কোনও ফাইলের ফাইলের নাম পাওয়া যায়।
  • object toJSON() - স্ক্র্যাপের ফলে যে কোনও JSON ফাইলকে রূপান্তর করে intহে একটি বস্তু
  • string toString() - স্ক্র্যাপ থেকে প্রাপ্ত যে কোনও ফাইলকে a তে রূপান্তর করে string.
  • xml.etree.ElementTree toXML() - স্ক্র্যাপ থেকে পাওয়া কোনও এক্সএমএল ফাইলকে এক্সএমএল এলিমেন্টে রূপান্তর করে।
  • boolean save(path) - saveস্ক্র্যাপের ফলে যে কোনও ফাইলই সফল হয় যদি সত্য হয় returns

ডিবাগ করা

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

scrapeResult = ScrapeResult.ScrapeResult("data.json");

#the rest of your handler code remains the same

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

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

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

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

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

  • GrabzItScrape[] GetScrapes() - ব্যবহারকারী স্ক্র্যাপের সমস্ত গ্র্যাবিজটস্ক্র্যাপ বস্তুর অ্যারে হিসাবে ফিরিয়ে দেয়।
  • GrabzItScrape GetScrape(id) - কাঙ্ক্ষিত স্ক্র্যাপের প্রতিনিধিত্ব করে এমন একটি গ্র্যাবিটসক্র্যাপ বস্তু প্রদান করে।
  • SetScrapeProperty(id, property) - সেট করে একটি স্ক্র্যাপ সম্পত্তি এবং সফল হলে সত্য ফিরে আসে।
  • SetScrapeStatus(id, status) - স্ক্র্যাপের স্থিতি ("স্টার্ট", ​​"থামুন", "সক্ষম", "অক্ষম করুন") সেট করে এবং সফল হলে সত্যটি ফেরত দেয়।
  • SendResult(id, resultId) - একটি স্ক্র্যাপের ফলাফল পুনরায় পাঠায় এবং সফল হলে সত্য ফিরে আসে।
    • স্ক্র্যাপ আইডি এবং ফলাফল আইডিটি getScrape পদ্ধতি থেকে পাওয়া যাবে।
  • SetLocalProxy(proxyUrl) - সমস্ত অনুরোধের জন্য ব্যবহারের জন্য স্থানীয় প্রক্সি সার্ভার সেট করে।