פיתוח פרסר לנתוני קשר ממקורות פתוחים

פרטי הקשר של ספקים ולקוחות נאספים ידנית במשך שבועות, ובזמן הייצוא חלק מהשדות כבר מיושנים. אנו מפתחים פרסר לנתוני קשר מקצה לקצה: מנתחים את המקורות שלך, מגדירים איסוף ומוסרים מרשם מוכן — זמן הכנת הבסיס מצטמצם פי כמה.

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

אלה רק חלק מהסוגים הטכניים של אתרים שאנו עובדים איתם, ולכל אחד מהם יכולים להיות מאפיינים ופונקציונליות ספציפיים משלו, וכן ניתן להתאים אותם לצרכים ולמטרות הספציפיים של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
פיתוח פרסר לנתוני קשר ממקורות פתוחים
בינוני
~3-5 ימים
שאלות נפוצות

מדוע פרסר פרטי קשר נשבר במקורות חיים

מקור פתוח חי אינו עמוד סטטי, אלא מערכת שמשנה את הסימון ללא אזהרה: שינו את שם הבלוק, הוסיפו עטיפה, העבירו את הדוא"ל לקטע נטען. פרסר פרטי הקשר לא קורס בעקבות זאת — הוא מחזיר כרטיסים ריקים, והסריקה מסתיימת רשמית בהצלחה. את הטעות מבחינים מאוחר יותר, בשיחות הטלפון: במרשם חסרים חצי מהכתובות, והיומנים נראים נקיים.

לאחר מכן מתחילה הנרמול של השדות. אותו מספר מגיע כ-«+7 (900) 000-00-00», «8 900 000 00 00» ו-«9000000000», הדוא"ל — עם רווח או באותיות גדולות, והתפקיד נדבק לשם המחלקה לשורה אחת.

בלי כללים מפורשים להבאת הערכים לצורה אחידה, הסרת כפילויות לפי התאמת מחרוזות לא עובדת, ואדם אחד נכנס למאגר פעמיים-שלוש.

חסימות ומגבלות מוסיפות שכבה שנייה של כשלים. ההגנה מפני סריקה אוטומטית חוסמת פניות תכופות, מחזירה במקום העמוד דף מקום או בדיקה, ומשנה את צורת התגובה באותה כתובת.

פרסר שאינו מבחין בין "באמת אין פרטי קשר" ל"חסמו אותנו זמנית" ממשיך לכתוב רשומות ריקות למרשם — בפלט מתקבל נפח שאין מאחוריו נתונים.

המחיר של כשלים כאלה נמדד לא באחוזים אלא בשעות עבודה ידנית: המפעיל בודק מחדש רשומות, מנקה כפילויות ומתקשר בערוצים לא פעילים. איסוף יציב של פרטי קשר ממקורות פתוחים נשען לא על שאילתה מוצלחת אחת, אלא על בקרה של שינויי סימון, כללים מפורשים לנרמול וטיפול בכשלי גישה. בהמשך נפרט כיצד זה מכוסה.

מה נותן איסוף מדויק: מהירות, שלמות, דיוק השדות

סריקה ידנית של מקורות נתקעת בחשבון פשוט: על כרטיס אחד הולכות דקה-שתיים, במשמרת מצטברות כמה מאות רשומות, וכל אחת מהן מועברת לטבלה ביד. משם — שגיאות הקלדה במספרים, פורמטים שונים של רישום אותו טלפון וכפילויות שצפות כבר בשיחות הטלפון.

רשימת המקורות וכללי הסריקה מוגדרים בקונפיגורציה, והעמודים מנותחים לפי מבנה המסמך, ולא לפי מיקום "משוער" של הבלוקים. אם בעמוד יש סימון schema.org בצורה מובנית, פרטי הקשר נלקחים ממנו ישירות — בלי יוריסטיקות לפי הפריסה, שנשברות בעיצוב מחדש הראשון.

מה שנאסף מובא לסכמה אחידה: טלפונים מנורמלים לפורמט אחד ונבדקים לפי ספרת ביקורת, כתובות דוא"ל — לפי תחביר, וכפילויות מכווצות לפי מפתח מורכב "ארגון + איש קשר". בפלט מתקבל לא סט גולמי של מחרוזות, אלא מרשם שבו הרשומה תקפה כבר מהבנייה. הרצה חוזרת מעדכנת רק כרטיסים שהשתנו, ולכן העדכניות נשמרת בלי בנייה מחדש מלאה.

לפי המדידות שלנו, השיפור במהירות האיסוף הוא פי שמונה עד עשר: נפח שבסריקה ידנית נמתח על פני שבועות נסגר במשמרת אחת. למרשם מגיעים מעל תשעים אחוזים מהכרטיסים שבהם פרטי הקשר בכלל פורסמו, ואחרי הייבוא נותרו אחוזים בודדים של עריכות ידניות — שגיאות הקלדה מפסיקות להיווצר בכניסה.

מצבי איסוף: ניתוח סימון, ממשק תוכנה, ייצוא

שלושת מצבי קבלת הנתונים אינם מחליפים זה את זה: על סט מקורות אחד עובד האחד, על אחר — השני. הבחירה תלויה בשאלה אם המקור מוסר נתונים באופן מכונני, אם יש לו ייצוא מוכן וכמה יציב הסימון של עמודיו — לכל סט מקורות נבחר מצב משלו.

להלן שלושה מצבים, והיכן כל אחד מהם נתקע בתקרה.

מצב מתי מתאים מגבלות
ניתוח סימון המקור אינו מוסר נתונים מכוננית, אך פרטי הקשר מונחים בעמודים פתוחים נשבר בעת שינוי הפריסה; נדרשים כללי סריקה משלו והגבלת תדירות הפניות לכל תבנית עמוד
ממשק תוכנה המקור מפרסם ערוץ רשמי להשגת נתונים ופותח אליו גישה מגבלות שאילתות ומכסות יומיות, חלק מהשדות כלל אינם נמסרים, וסכמת התגובה משתנה מצד המקור
ייצוא מוכן המקור עצמו מפרסם קובץ או ארכיון עם פרטי קשר התדירות נקבעת על ידי המקור, הפורמטים והמבנה שונים, ואי אפשר לבחור רק את השדות הדרושים — מנתחים את כל הנפח

בפועל סט המקורות כמעט תמיד מעורב, ולכן אנחנו משלבים מצבים: היכן שיש ממשק תוכנה — עוברים דרכו, את השאר מכסים בניתוח סימון, ואת הפלטפורמות הנדירות — בייצוא מוכן.

את מגבלות השאילתות וכללי הסריקה לכל מקור אנחנו מחזיקים בקונפיגורציה נפרדת, ולא בקוד: תיקון בעת שינוי פריסה או מכסה אינו דורש בנייה מחדש, והסטטיסטיקה לפי מצבים מראה היכן ירד שיעור פרטי הקשר שנאספו. כשמקור משנה את כללי המשחק, המצב עבורו מתחלף — והשאר ממשיכים לעבוד ללא שינויים.

כיצד אנו מנהלים את ההטמעה: מביקורת מקורות ועד למסירה

ההטמעה מתנהלת בשלבים, וכל אחד מסתיים בארטיפקט שניתן לבדוק. הפרויקט אינו הופך לקופסה שחורה: רואים מאין מגיעים הנתונים, לפי אילו כללים הם נאספים וכיצד נשלטת האיכות.

  1. ביקורת מקורות. מרכזים את הפלטפורמות בטבלה: נפח התפוקה, תנאי השימוש, קיומו של ממשק תוכנה פתוח, יציבות הפריסה. מקורות בלי זכויות לאיסוף נפסלים מיד — אחרת יהיה צורך לכתוב מחדש את הסריקה.
  2. סכמת סריקה. תור שאילתות עם הגבלת תדירות, סריקת עימוד, ניסיונות חוזרים בעת תקלות. לעמודים עם רינדור דינמי — רינדור, ולקטלוגים — סריקה לפי רשימות מדורים וכרטיסים.
  3. חילוץ שדות. פרטי הקשר מוצאים לפי ההקשר של הבלוק, ולא מכל טקסט העמוד: ערך מכותרת הכרטיס ומבלוק פרסומת הם ישויות שונות.
  4. נרמול. טלפונים — לפורמט אחיד עם קידומת מדינה, דוא"ל — לאותיות קטנות, כתובות — למבנה אזור/עיר/רחוב. כפילויות מדביקים לפי מפתח מורכב.
  5. בדיקה על מדגם ייחוס. את הסט לבקרה מסמנים ביד ומשווים: שיעור הערכים הנכונים, שיעור ההחמצות, התראות שווא. מתחת לסף מתקנים את הכללים, ולא משלימים נפח.
  6. מסירה לעבודה. מוסרים קוד, קונפיגורציות של מקורות, לוח זמנים של הרצות ודוח איכות. מראים למהנדסים שלכם כיצד לחבר מקור חדש ולנתח תקלה.

בהמשך — תמיכה: הרצות סדירות, התראות בירידה בשיעור הרשומות התקפות ועדכון כללים בהתאם לשינויי הפריסה.

מה נשאר אצלכם: קונפיגורציות, סכמות, נהלים, הרשאות

אנחנו מוסרים לא "סקריפט עובד", אלא סט ארטיפקטים שלפיהם אפשר להריץ, לבדוק ולפתח את פרסר פרטי הקשר בלעדינו. כל סעיף עובר קבלה בצד שלכם: אנחנו מראים היכן הוא נמצא, כיצד להשתמש בו ומה יקרה בעת שינוי הסימון של המקור.

  • קונפיגורציות עבודה — כללי ניתוח לכל מקור, לוח זמנים, השהיות בין שאילתות, הגבלת מקביליות, ניסיונות חוזרים בעת תקלות ורשימת הכתובות שמהן מתבצעת הסריקה.
  • סכמת מקורות — מפה שבה לכל מקור מצוינים הסוג, אופן הגישה, תדירות העדכון, סט השדות הנחלצים והשינויים האופייניים בסימון ששוברים את הניתוח.
  • הרשאות גישה ומשטר משפטי — אילו מקורות פתוחים לאיסוף, מגבלות על תדירות הפניות, חשבונות נפרדים לשירות, מפתחות במאגר מאובטח ולא בקוד ולא ביומנים.
  • מודל נתונים ונרמול — הבאת טלפונים, דוא"ל וכתובות לצורה אחידה, כלל הסרת כפילויות של רשומות, עדיפות שדות בעת סתירה בין נתונים ממקורות שונים.
  • נוהל הפעלה — עבודה לפי לוח זמנים או לפי דרישה, סדר הצפייה בדוח ההרצה, פעולות בעת חסימת מקור ונקודות הסלמה בתוך הצוות שלכם.
  • תיעוד — תיאור השדות והפורמטים של הייצוא, דוגמאות שאילתות, הוראות לחיבור מקור חדש באמצעות עריכת קונפיגורציה, בלי שינוי בקוד.
  • בדיקות וניטור — מדגם ייחוס עם תוצאה צפויה, אות בעת ירידה בשיעור הניתוחים המוצלחים, יומן שינויים של קונפיגורציות עם אפשרות שחזור.

בהמשך השירות חי לפי הנוהל שלכם: עדכון כללים בעת שינוי סימון, הוספת מקורות, רוטציה של הרשאות. אם תידרש עזרה — נתחבר למערכת שכבר מתועדת, ולא לקוד זר בלי תיאור.

מקרה בוחן: מרשם לפי קטלוג ספקים, מדדים לפני ואחרי

מה היה ומה שינינו

אצל הלקוח — קטלוג ספקים של ציוד תעשייתי עם כמה אלפי פריטים, ואת פרטי הקשר של מחלקות הרכש אספו ביד: שני עובדים סרקו אתרים והעבירו נתונים לטבלה. על מאה כרטיסים הלך כמעט יום עבודה שלם, בסריקה חוזרת עד שליש מהרשומות התגלו כלא מעודכנות, וחלק מהחברות כלל לא נכנסו למרשם. את השלמות איש לא מדד — את הפריטים האבודים פשוט לא שמו לב.

בנינו פרסר פרטי קשר ממקורות פתוחים: סריקת הקטלוג לפי מדורים וחילוץ שדות מסימון העמודים דרך Schema.org היכן שהוא קיים, ולפי בלוקי הקשר — היכן שאינו.

כל רשומה שומרת את כתובת המקור ואת תאריך האיסוף, כפילויות מדביקים לפי הדומיין ושם החברה, והתאמות שנויות במחלוקת עוברות לתור לבדיקה ידנית. הסריקה מתבצעת לפי לוח זמנים, ולכן המרשם מתעדכן ולא נבנה מחדש בכל פעם.

מדדים לפני ואחרי

הרצה מלאה על הקטלוג נמשכת כשעתיים לעומת שבועות של דגימה ידנית, ומהעובדים נותרת רק בדיקת הדוח. שלמות המרשם עלתה מ-71% ל-96% — את ההפרש הראתה הרצת השוואה על מדגם ביקורת של חברות.

שיעור הכפילויות ירד מ-18% ל-2%, ל-100% מהרשומות יש מקור מאומת, והירידה בעבודה הידנית ניכרת במספר העריכות אחרי כל סריקה.

היכן הפרסר מפסיד לממשק התוכנה ומדוע?

ממשק תוכנה מנצח היכן שהוא קיים ומכסה את השדות הדרושים. המקור מוסר נתונים בצורה מוסכמת: מבנה התגובה מתואר, השדות מסומנים, ומגבלות הפניות ידועות מהתיעוד. כל עוד זה כך, ניתוח הסימון הוא שכבה מיותרת שמוסיפה רק נקודות כשל.

ניתוח הסימון אמין יותר במצב ההפוך: אין ממשק כלל, הוא סגור בתעריף בתשלום, מוגבל במספר הפניות או מוסר סט שדות מצומצם. אז העמודים הציבוריים הם הערוץ היחיד הזמין, והנתונים נלקחים משם בהבאה לסכמה שלנו.

המחיר של פתרון כזה — תלות בפריסה של המקור. החלפת תבנית או עיצוב מחדש שוברים את כללי הניתוח, ולכן נדרשים בדיקות סדירות, בקרה של מדגמים ריקים ואות על ירידה בשיעור פרטי הקשר שנמצאו. ממשק נשבר באופן צפוי — בקוד שגיאה בתגובה, ולא באובדן נתונים שקט.

מגבלות המקורות משפיעות על הבחירה לא פחות. קפצ'ה, חסימה לפי כתובת ולפי התנהגות ודרישת הזדהות מחייבות לנהל את הניתוח לאט, עם הפסקות, אחרת המקור מתחיל להחזיר דפי מקום. בממשק תוכנה אותן מסגרות מתבטאות באופן מפורש — במגבלת פניות ליחידת זמן.

לכן את הגישה בוחרים לפי המשימה. תחילה בודקים אם יש ממשק תוכנה ואם הוא מכסה את השדות הדרושים; אם כן — בונים עליו. אם לא או שהוא צר — ניתוח סימון, אבל עם שכבת נרמול, כדי שהחלפת מקור לא תמוטט את כל המערכת. לרוב יוצא היברידי: הממשק נותן את עיקר הנפח, והניתוח משלים את החסר.

ספקות טכניים: איכות שדות, חסימות, ניסיונות חוזרים

ספקות לגבי איכות הנתונים עולים לפני שהפיתוח מתחיל, וזה נורמלי: מהתשובות תלויים גם סכמת האחסון וגם היקף התמיכה. להלן שלוש שאלות שנשאלות בתדירות הגבוהה ביותר, וכיצד הן נסגרות בקוד, ולא במילים.

מאין מגיעות כפילויות ורשומות לא מעודכנות?

משווים לא את המחרוזת כולה, אלא מפתח מנורמל: הטלפון מובא לצורה אחידה, דומיין הדוא"ל — לאותיות קטנות, והחברה — לשם קנוני. התאמה לפי המפתח בתוספת סף דמיון של השם שולחת את הרשומה למיזוג, ולא למאגר.

רשומות לא מעודכנות אינן נמחקות: לאיש הקשר מתווספת הערה של האימות האחרון, ואם הוא אינו מופיע במקורות בפרק זמן מוגדר, הוא מסומן כלא רלוונטי — ההיסטוריה נשמרת.

מה יקרה בעת שינוי הסימון של אתר המקור?

כללי חילוץ השדות מוציאים לקונפיגורציות נפרדות, ולכן התיקון אורך שעות, ולא כתיבה מחדש של הפרסר. כל הרצה מחשבת את שיעור השדות שזוהו — ירידה מתחת לסף מרימה אות, ואת השינוי אנחנו מגלים לפני שהלקוח יפתח ייצוא עם עמודות ריקות. עמודים שמצוירים על ידי סקריפטים מעובדים דרך Playwright.

כיצד להגביל את הכיסוי ולאמת את הדיוק?

הכיסוי נקבע לפי רשימת מקורות, אזורים ותחום — האיסוף אינו מתבצע על כל האינטרנט. הדיוק מאומת על ידי מדגם ביקורת: חלק מהרשומות נבדק ביד, ולדוח נכנס שיעור הטלפונים והכתובות המאומתים, ולא המספר הכולל של שורות.

נדון במשימה: נבנה סכמת איסוף למקורות שלכם

כדי לחזור עם הערכת נפח, ולא עם מילים כלליות, אנחנו זקוקים לנתוני פתח על המשימה שלכם. להלן רשימה של מה שמסיר את אי-הוודאות העיקרית: איתה אנחנו מיד מחשבים את מאמץ העבודה, בוחרים את שיטת האיסוף ומרכיבים תוכנית עבודה למקורות ספציפיים ולהרכב המרשם.

  • מקורות: קטלוגים, פלטפורמות מודעות, מדריכים ענפיים, מרשמים — והאם יש לכם הרשאות או מנויים פעילים אליהם.
  • הרכב המרשם: אילו שדות חובה (שם, איש קשר, טלפון, דוא"ל, כתובת, תחום פעילות), ואילו — במידת האפשר.
  • כללי איחוד כפילויות: לפי איזה סימן אנחנו מחשיבים שתי רשומות כאותה חברה — התאמת טלפון, כתובת או שם.
  • נפח ותדירות: נדרש חיתוך חד-פעמי או עדכון סדיר, וכמה רשומות אתם מצפים בפלט.
  • מה כבר קיים: ייצואים קודמים, טבלאות, מאגרים — כדי לא לבנות מחדש את מה שעובד.
  • גבולות המותר: אילו מקורות ושדות אתם לא לוקחים לפי הכללים הפנימיים שלכם.
  • מה הלאה עם הנתונים: פורמט הייצוא, היכן מאחסנים, מי ולפי אילו שדות מחפש.

שלחו את מה שיש, אפילו בטיוטה — נחזור עם הערכת נפח, לוחות זמנים לפי שלבים ותוכנית עבודה ברורה. אם לגבי חלק מהסעיפים אין בהירות, נבהיר אותם בדיון ונקבע את הסיכומים בכתב.

הכישורים שלנו:

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1393
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1368
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1139
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1152
  • פיתוח אתר עבור SBH Partners
    פיתוח אתר עבור SBH Partners
    1231
  • פיתוח אתר עבור Red Pear
    פיתוח אתר עבור Red Pear
    641