أدوات لالتقاط وتحويل الويب

API Scraper Web لـ Python Python Scraper API

أولا بإمكانك تحميله Web Scraper API for Python وانظر إلى معالج المثال الموجود بداخله للبدء.

معالجة البيانات كشط

تتمثل أسهل طريقة لمعالجة البيانات المحشورة في الوصول إلى البيانات ككائن JSON أو XML ، حيث يتيح ذلك معالجة البيانات واستعلامها بسهولة. سيتم هيكلة JSON بالتنسيق العام التالي مع اسم مجموعة البيانات كسمات للكائن ، والذي يحتوي في حد ذاته على مجموعة من الكائنات مع كل اسم عمود كسمة أخرى.

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

بادئ ذي بدء ، يجب أن نتذكر أن المعالج سيتم إرسال جميع البيانات المحشورة ، والتي قد تشمل البيانات التي لا يمكن تحويلها إلى كائنات JSON أو XML. لذلك يجب التحقق من نوع البيانات التي تتلقاها قبل معالجتها.

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 والقيام بإجراءات محددة اعتمادا على قيمة Column_Two صفة، عزا. أيضًا إذا كان الملف الذي تلقاه المعالج ليس ملف JSON ، فهو عادل saveد إلى دليل النتائج. بينما تحاول فئة ScrapeResult التأكد من أن جميع الملفات المنشورة منشؤها من خوادم GrabzIt ، يجب أيضًا فحص امتداد الملفات قبل أن يتم saved.

طرق ScrapeResult

المدرجة أدناه هي كافة أساليب فئة ScrapeResult التي يمكن استخدامها لمعالجة نتائج scrape.

  • string getExtension() - يحصل على امتداد أي ملف ناتج عن الكشط.
  • string getFilename() - يحصل على اسم ملف أي ملف ناتج عن الكشط.
  • object toJSON() - يحول أي ملف JSON ناتج عن الكشط intيا كائن.
  • string toString() - يحول أي ملف ناتج عن الكشط إلى ملف string.
  • xml.etree.ElementTree toXML() - يحول أي ملف XML ناتج عن الكشط إلى عنصر XML.
  • boolean save(path) - saveأي ملف ناتج عن الكشط ، يعود صحيحًا إذا نجح.

التصحيح

أفضل طريقة لتصحيح معالج Python الخاص بك هي تنزيل نتائج كشط من الورطات على شبكة الإنترنت صفحة، save الملف الذي تواجه مشكلة في موقع يمكن الوصول إليه ، ثم تمرير مسار هذا الملف إلى مُنشئ فئة ScrapeResult. يتيح لك ذلك تصحيح معالجك دون الاضطرار إلى القيام بكشط جديد في كل مرة ، كما هو موضح أدناه.

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

#the rest of your handler code remains the same

السيطرة على كشط

من خلال GrabzIt's Web Scraper API for Python ، يمكنك بدء أو إيقاف أو تمكين أو تعطيل الكشط عن بُعد حسب الحاجة. يظهر هذا في المثال التالي ، حيث يتم تمرير معرف الكشط مع حالة الكشط الجديد إلى 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 الأساليب والخصائص

المدرجة أدناه هي جميع الأساليب والخصائص للفئة GrabzItScrapeClient التي يمكن استخدامها للسيطرة على رقع الدولة.

  • GrabzItScrape[] GetScrapes() - إرجاع كافة المستخدمين scrapes كصفيف لكائنات GrabzItScrape.
  • GrabzItScrape GetScrape(id) - إرجاع كائن GrabzItScrape الذي يمثل الكشط المرغوب.
  • SetScrapeProperty(id, property) - يحدد خاصية كشط وتعود صحيحا إذا نجحت.
  • SetScrapeStatus(id, status) - يضبط الحالة ("ابدأ" ، "إيقاف" ، "تمكين" ، "تعطيل") للخردة وتعود صحيحة إذا نجحت.
  • SendResult(id, resultId) - يعيد إرسال نتيجة الخردة ويعود صحيحًا إذا نجح.
    • يمكن العثور على معرف الكشط ومعرّف النتيجة من أسلوب GetScrape.
  • SetLocalProxy(proxyUrl) - تعيين خادم الوكيل المحلي ليتم استخدامه لجميع الطلبات.