קודם כל להורדה ממשק ה- API של מגרד הרשת עבור 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 שניתן להשתמש בהן כדי לעבד תוצאות גרד.
הדרך הטובה ביותר לבצע איתור באגים במטפל בפייתון שלך היא להוריד את התוצאות עבור גרד מה- שריטות אינטרנט דף, save את הקובץ שאתה נתקל בו במיקום נגיש ואז העביר את הנתיב של הקובץ למבנה של מחלקת ScrapeResult. זה מאפשר לך לבצע ניפוי של המטפל שלך מבלי שתצטרך לבצע גרד חדש בכל פעם, כמוצג להלן.
scrapeResult = ScrapeResult.ScrapeResult("data.json"); #the rest of your handler code remains the same
עם ה- API של GrabzIt Web Scraper עבור 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 בהן ניתן להשתמש כדי לשלוט על שריטות המצב.