أولا بإمكانك تحميله 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 التي يمكن استخدامها لمعالجة نتائج scrape.
أفضل طريقة لتصحيح معالج 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/') } //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 التي يمكن استخدامها للسيطرة على رقع الدولة.