פרויקט התממשקות עם הבנק
-
@dovid לפי ההוראות שלך:
const createScraper = require('israeli-bank-scrapers').createScraper; const credentials = { userCode: '123456', password: '7890123' }; const options = { companyId: 'hapoalim', // mandatory; one of 'hapoalim', 'leumi', 'discount', 'otsarHahayal', 'visaCal', 'leumiCard', 'isracard', 'amex' //startDate: Date, // the date to fetch transactions from (can't be before the minimum allowed time difference for the scraper) combineInstallments: false, // if set to true, all installment transactions will be combine into the first one //showBrowser: true, // shows the browser while scraping, good for debugging (default false) verbose: true // include more debug info about in the output }; const scraper = createScraper(options); scraper.scrape(credentials).then(function(scrapeResult) { if (scrapeResult.success) { scrapeResult.accounts.forEach((account) => { console.log(`found ${account.txns.length} transactions for account number ${account.accountNumber}`); }); } else { console.error(`scraping failed for the following reason: ${scrapeResult.errorType}`); } });
נסיתי גם username לפנ"כ ואותה שגיאה.
-
-
@dovid אמר בפרויקט התממשקות עם הבנק:
ניסית אבל גם נכונים בטוח?
מתברר שלא.
כתבתי בהתחלה נתונים נכונים, וכנראה שאיכשהו מחקתי איזה תו לפני השמירה...תסיר את סימון ההערה מshowBrowser: true ותראה איפה זה נתקע.
אני מריץ על השרת.
@dovid אמר בפרויקט התממשקות עם הבנק:
כמו"כ למה לא שמת תאריך, אולי זה חובה? שים למשל
ניסיתי עם זה, וגם בלי זה..., וזה עובד!
found 58 transactions for account number 12-000-00000 found 0 transactions for account number 12-000-00000
-
@yossiz תודה זה עכשיו עובד. מעניין שבשרת זה לוקח יותר זמן מבמחשב.
@WWW עכשיו השמים הם הגבול... רק צריך להבין קצת יותר איך הכל עובד, אבל בעיקרון אפשר לעשות כל מה שעושים דרך האתר.אני מבין שהפוקנציה מחזירה אובייקט שיש בו את כל הפעולות, והדוגמא שיש בגיטהב היא סה"כ סופרת את הפעולות ומציגה את המספר. עכשיו צריך לנתח את האובייקט הזה ולשלוף תוצאות. אני מאמין שהיתרה העדכנית זה התוצאה של הפעולה האחרונה.
-
תחליף את החלק האחרון לזה
scraper.scrape(credentials).then(function(scrapeResult ) { if (scrapeResult.success) { console.log(JSON.stringify(scrapeResult.accounts, null, 4)); } else { console.error(`scraping failed for the following reason: ${scrapeResult.errorType}`); } });
אבל אין שם יתרה עדכנית.
-
@dovid אמר בפרויקט התממשקות עם הבנק:
כי השרת שלך הרבה יותר חלש מהמחשב. הם עובדים ע"י הרצת כרום ברקע.
ולכן זה חסרון אדיר, יחסית לדרך פעולה 2 שהוזכר כאן.
זה משהו כמו להריץ אמולטור לאנדרואיד...אני מתאר לעצמי מה יקרה אם ארצה לעשות 100 או 1000 חיבורים כאלה בו זמנית.