דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
יהודי טובי

יהודי טוב

@יהודי טוב
אודות
פוסטים
564
נושאים
88
קבוצות
0
עוקבים
4
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • קוד Node לקבלת נתונים מבנק הפועלים
    יהודי טובי יהודי טוב

    ראיתי את הספריה israeli-bank-scrapers

    התלבטתי אם להשתמש בזה.

    אמרתי שאני ינסה ויראה עד כמה זה מורכב לממש את זה בעצמי.

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

    מצרף את הקובץ

    const puppeteer = require('puppeteer');
    const axios = require('axios');
    const fs = require('fs');
    
    const poalim = async (userCode, password, tranStartDate = null, tranEndDate = null) => {//dates in format yyyymmdd
        // פתיחת הדפדפן במצב דיבוג (headful)
        const browser = await puppeteer.launch({
            headless: false, // הופך את המצב ל-Headful
        });
    
        const pages = await browser.pages();
        const page = pages[0]; // שימוש בטאב הראשון
        await page.goto("https://login.bankhapoalim.co.il/ng-portals/auth/he/");
    
        // הזנת מידע לתוך האינפוטים
        await page.type('#userCode', userCode); // הזנת טקסט לאינפוט הראשון (לפי מזהה id)
        await page.type('#password', password); // הזנת טקסט לאינפוט השני (לפי מזהה id)
    
        // לחיצה על כפתור מסוג submit עם הטקסט "כניסה"
        await page.evaluate(() => {
            const button = Array.from(document.querySelectorAll('button[type="submit"]'))
                .find(el => el.innerText === 'כניסה');
            if (button) button.click();
        });
    
        await page.waitForNavigation();
    
        // שליפת עוגיות
        const cookies = await page.cookies();
    
        // יצירת מחרוזת עוגיות עבור בקשות HTTP
        const cookieHeader = cookies.map(cookie => `${cookie.name}=${cookie.value}`).join('; ');
    
        // שליחת בקשה HTTP עם העוגיות
        const accounts = await axios.get('https://login.bankhapoalim.co.il/ServerServices/general/accounts', {
            headers: {
                'Cookie': cookieHeader, // שימוש בעוגיות שהתקבלו
            },
        });
    
    
        // קביעת תאריכים עם ברירת מחדל אם לא סופקו
        const startDate = tranStartDate || new Date(new Date().setFullYear(new Date().getFullYear() - 1)).toISOString().split('T')[0].replace(/-/g, '');
        const endDate = tranEndDate || new Date().toISOString().split('T')[0].replace(/-/g, '');
    
        // עיבוד כל החשבונות במקביל
        const enrichedAccounts = await Promise.all(
            accounts.data.map(async (account) => {
                const accountId = `${account.bankNumber}-${account.branchNumber}-${account.accountNumber}`;
    
                // בקשה לפרטי היתרה והקרדיט
                const metadataPromise = axios.get(
                    `https://login.bankhapoalim.co.il/ServerServices/current-account/composite/balanceAndCreditLimit?accountId=${accountId}&view=details&lang=he`,
                    { headers: { 'Cookie': cookieHeader } }
                );
    
                // בקשה לרשימת תנועות
                const transactionsPromise = axios.get(
                    `https://login.bankhapoalim.co.il/ServerServices/current-account/transactions?accountId=${accountId}&numItemsPerPage=1000&retrievalEndDate=${endDate}&retrievalStartDate=${startDate}&sortCode=1`,
                    { headers: { 'Cookie': cookieHeader } }
                );
    
                // מחכים לשתי הבקשות במקביל
                const [metadataResponse, transactionsResponse] = await Promise.all([metadataPromise, transactionsPromise]);
    
                // החזרת האובייקט המועשר
                return {
                    ...account,
                    metadata: metadataResponse.data,
                    transactions: transactionsResponse.data,
                };
            })
        );
    
        const now = new Date().toISOString().replace(/[-:T]/g, '').slice(0, 8) + '_' + new Date().toTimeString().slice(0, 5).replace(/:/g, '');
    
        // כתיבת התוצאה לקובץ JSON
        fs.writeFileSync(`bank_${now}.json`, JSON.stringify(enrichedAccounts, null, 2));
    
        await page.deleteCookie(...cookies);// מחיקת עוגיות
    
        await browser.close(); // סגירת הדפדפן
    }
    
    poalim('userName', 'password');
    
    

  • מישהו מכיר איזה תוסף שיכול להגביל את ההכחלה של השורה
    יהודי טובי יהודי טוב

    @THMV
    שאלתי אותו בשבילך..

    תיצור סימניה חדשה בכרום,

    ובערך של הURL תדביק את הטקסט הבא:

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

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

    javascript:(function() { let active = false; let selectedColumnIndex = null; const highlightClass = 'highlight-column'; const style = document.createElement('style'); style.textContent = ` .${highlightClass} { background-color: rgba(255, 255, 0, 0.3); } `; document.head.appendChild(style); function clearHighlights(table) { table.querySelectorAll(`.${highlightClass}`).forEach(cell => { cell.classList.remove(highlightClass); }); } function mouseOverHandler(event) { const cell = event.target.closest('td, th'); if (cell && (cell.parentElement.parentElement.tagName === 'TBODY' || cell.parentElement.parentElement.tagName === 'THEAD')) { const table = cell.closest('table'); if (!table) return; clearHighlights(table); const columnIndex = [...cell.parentElement.children].indexOf(cell); selectedColumnIndex = columnIndex; table.querySelectorAll('tr').forEach(row => { const columnCell = row.children[columnIndex]; if (columnCell) { columnCell.classList.add(highlightClass); } }); } } function clickHandler(event) { const cell = event.target.closest('td, th'); if (cell && selectedColumnIndex !== null) { const table = cell.closest('table'); if (!table) return; const columnData = []; table.querySelectorAll('tr').forEach(row => { const columnCell = row.children[selectedColumnIndex]; if (columnCell) { columnData.push(columnCell.textContent.trim()); } }); navigator.clipboard.writeText(columnData.join('\n')).then(() => { alert('ההעתקה בוצעה בהצלחה!'); }).catch(err => { console.error('Failed to copy text: ', err); alert('שגיאה בהעתקה ללוח ההעתקה.'); }); } } if (!window.toggleTableColumnCopy) { window.toggleTableColumnCopy = function() { if (!active) { document.addEventListener('mouseover', mouseOverHandler); document.addEventListener('click', clickHandler); alert('הפונקציונליות הופעלה!'); } else { document.removeEventListener('mouseover', mouseOverHandler); document.removeEventListener('click', clickHandler); clearHighlights(document); alert('הפונקציונליות הופסקה!'); } active = !active; }; } toggleTableColumnCopy(); })();
    

  • מישהו מכיר איזה תוסף שיכול להגביל את ההכחלה של השורה
    יהודי טובי יהודי טוב

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


  • קריאת התנ"ך
    יהודי טובי יהודי טוב

    image.png

    מעניין למה?


  • איך לדמות צביטה במסך מגע במחשב
    יהודי טובי יהודי טוב

    תודה מדהים, בול מה שהייתי צריך..


  • איך לדמות צביטה במסך מגע במחשב
    יהודי טובי יהודי טוב

    אני צריך לבדוק את המחוות שיש בסמאטרפונים - במחשב.

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

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

    יש מישהו שהתעסק עם זה?

    תודה רבה


  • אני רוצה ליצור הקלטה מתוך טקסט בAI , מחפש המלצות
    יהודי טובי יהודי טוב

    https://ttsfree.com/

    אתה יכול גם לנקד, הקולות של גוגל טובים יותר - (בעברית, בכל אופן)


  • התנהלות עם טבלאות עסקאות בנדרים פלוס
    יהודי טובי יהודי טוב

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


  • חשבון גוגל שנחסם
    יהודי טובי יהודי טוב

    @Shmuel754 כתב בחשבון גוגל שנחסם:

    תנסה לשחזר מאותו מחשב שהתחברת בעבר

    ניסיתי ולא עוזר

    ואם יש IP קבוע עוד יותר טוב.

    אין לי


  • חשבון גוגל שנחסם
    יהודי טובי יהודי טוב

    מוגדר לי מייל לשחזור חשבון, אבל זה לא מספיק להם.


  • חשבון גוגל שנחסם
    יהודי טובי יהודי טוב

    אני מגיע לשלב הזה אחרי שאני מאמת את המייל.

    לא זוכר אם כתבתי מס' לאימות, בכל אופן ניסיתי עם המספרים שלי וזה לא עבד.


  • חשבון גוגל שנחסם
    יהודי טובי יהודי טוב

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

    הבעיה היא שכל מספר שאני כותב (גם מספרים שמקבלים SMS) אני מקבל את השגיאה:

    "לא ניתן להשתמש במספר הטלפון הזה לאימות."
    0fded62f-bc63-4063-acdd-e759f5a83e3c-image.png

    וכשניסיתי שוב קיבלתי את המסך הזה:
    85b73791-ceaf-4d10-ac7e-eca6cd837c01-image.png

    מה אני יכול לעשות?

    תודה רבה


  • וואצאפ ווב בנטפרי אין עדכון חדש לאפליקציה
    יהודי טובי יהודי טוב

    @A0533057932
    הבעיה היא באימולטור שמריץ את האפלקציה, ולכן זה לא נראה לי קשור.


  • בניית אתר מעוצב
    יהודי טובי יהודי טוב

    @meir-lamdan כתב בבניית אתר מעוצב:

    אני הייתי ממליץ ללמוד vue הוא הרבה יותר קל ללמידה

    לא יצא לי לעבוד עם vue, אבל גם ריאקט ממש קל ללמידה..

    אתה עבדת עם ריאקט?

    צריך מישהו אוביקטיבי שיכריע 😉


  • בניית אתר מעוצב
    יהודי טובי יהודי טוב

    @EMG כתב בבניית אתר מעוצב:

    איך אמור לעבוד דף אינטרנט מקצועי מהרבה דפים שונים (ובכל דף יש את אותו תפריט שמשתמש באותו css) או שזה בנוי מדף אחד ובכל לחיצה על חלק אחר בתפריט שולח בget או בדף אחד שמנתב לפי ה routing

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

    ממליץ לך ללמוד את זה. אתה צריך בסיס של html, css, js ואז בקלי קלות אתה יכול ללמוד את ריאקט...


  • הפקת דוחו"ת מWPF מה מומלץ?
    יהודי טובי יהודי טוב

    @אביי
    אני לאחרונה לומד עם copilot.

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

    היי,
    קיבלתי משימה ליצור פרויקט WPF ולהציג שם דוח עם RDLC.

    תוכל להסביר לי איך אני עושה את זה

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

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


  • הפקת דוחו"ת מWPF מה מומלץ?
    יהודי טובי יהודי טוב

    למה לא עם rdlc?

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


  • התייעצות: Next.js Nest.js או Nuxt.js ?
    יהודי טובי יהודי טוב

    @איש-נחמד כתב בהתייעצות: Next.js Nest.js או Nuxt.js ?:

    (תקן אותי אם אני טועה)

    אכן טועה...

    זה רק לצד לקוח


  • התייעצות: Next.js Nest.js או Nuxt.js ?
    יהודי טובי יהודי טוב

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

    nest - מאפשר לך לכתוב את השרת בצורה מאוד מסודרת וממודלת, עד כמה שאני זוכר אפשר להשתמש רק עם type script.

    עבדתי עם פרויקטים ב2 הספריות, ויש משהו מאוד נוח בnest לצד שרת. וnext לצד לקוח.

    ORM - עבדתי עם mikro-orm בעבר ויש לי זכרונות שליליים מזה - לא זוכר בדיוק מה (אם אני זוכר אין שם אפשרות למגרציות אוטומטיות לפי שינוי של המודל - אלא אתה צריך לכתוב בעצמך את הSQL של השינויים)


  • ספר טלפונים ב-html
    יהודי טובי יהודי טוב

    @dovid כתב בספר טלפונים ב-html:

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

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

    זה באיזור חמש שורות קוד בלי שום טכנולוגיה מעבר לJS טהור.

    👍

  • 1 / 1
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום