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

Retropy

  • פותח הנושא פותח הנושא adamshalev
  • פורסם בתאריך פורסם בתאריך
לא הצלחתי להחליט אם התווים הללו הם הקווים שביקשתי או שמא חץ כלפי מטה (או גם וגם) :):)

מה הכוונה scraping מ- tase ישירות ? באיזה פורמט הם חושפים את זה?
תכלס גם וגם.
אתה יכול להכנס לאתר שלהם ולראות את המידע נכון? אז גם מחשב יכול.
 
תעשה טובה, לא מתקרב לאשפה הזאת.
די מהר אתה תגלה שגם צריך מניפולציות על ה- cookie ועוד שטויות כאלו כדי לעבור את ה- WAF שלהם, ובנוסף היות והרבה כאן הולכים להריץ את זה אונליין דרך mybinder ה IP שלהם יחסם עקב ריבוי בקשות.

תמתין אני זומם משהו, תיכף כשזה יהיה אפוי תקבל.
 
מעלה מהאוב את השרשור הבא
הצלחתי למצוא באתר URL שנותן קובץ CSV עם נתוני הנייר בתאריכים נבחרים. לדוגמה:
http://www.tase.co.il/_layouts/Tase...=0&cl=0&cgt=1&dFrom=01/01/2010&dTo=01/01/2016
חלפו כמעט 3 שנים והלינק עדיין עובד, נס פך השמן :)
בהמשך יש גם הודעה שלי עם סט של API אבל כולם ללא נתונים היסטוריים, וחלקם אף חדלו לעבוד.

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

@adamshalev אגב, יש לך רעיון כלשהו לעשות caching למידע כדי (1) להימנע מתלות במידע אונליין (2) לא להעמיס על השרת שמספק המידע.
חשבתי להעלות לריפו קבצי JSON פר נייר וכד' אבל אז צריך בכל עדכון commit לכל הקבצים.
 
נערך לאחרונה ב:
@adamshalev אגב, יש לך רעיון כלשהו לעשות caching למידע כדי (1) להימנע מתלות במידע אונליין (2) לא להעמיס על השרת שמספק המידע.
חשבתי להעלות לריפו קבצי JSON פר נייר וכד' אבל אז צריך בכל עדכון commit לכל הקבצים.
אפשר לשים הכל ב Azure Storage או ב S3 . לדעתי אפשר לסגור את כל המידע ההיסטורי של הבורסה בכמה ג'יגות.... וודאי אם דוחסים. זה עולה כמה סנטים לג'יגה...
 
@adamshalev אגב, יש לך רעיון כלשהו לעשות caching למידע כדי (1) להימנע מתלות במידע אונליין (2) לא להעמיס על השרת שמספק המידע.
חשבתי להעלות לריפו קבצי JSON פר נייר וכד' אבל אז צריך בכל עדכון commit לכל הקבצים
הווליום שמגיע מהפורום לא מספיק גבוה כדי שזה יהיה מטרד לשום API.
Cache זה קל בשרת, אבל מדובר בקוד פתוח - כל קאש שתכתוב אליו יהיה פומבי, ואם אתה משלם אליו זה מתכון לצרות.
 
הווליום שמגיע מהפורום לא מספיק גבוה כדי שזה יהיה מטרד לשום API.
מבחינת ווליום זה באמת לא מטרד אבל הבעיה היא שפעמים רבות יושב שם בשער שומר נעכס וקשוח (WAF)
כל קאש שתכתוב אליו יהיה פומבי,
מה אכפת לי?
ואם זה יהיה קאש על הגיט עצמו של הפרויקט? כלומר עוד resources
 
הקוד רץ על מכונה בתולה (mybinder) ורוצה לדחוף קובץ חדש לריפו,
לא זה מה שהתכוונתי כי האכיטקטורה* של החיה החדשה שהבאת לנו לכאן אינה ברורה לי דיה :)
מה שרציתי לעשות זה להקים תיקיה ב github שתכיל קבצי json עם נתונים היסטוריים, נניח קובץ פר טיקר, המנוע שלך ידע לשלוף מהם מידע כפי שהוא שולף מיאהו וכו'
לגבי עדכון אפשר לזרוק סקריפט באיזה מכונה (פרטית) שיוריד את הקבצים מאתרי המקור וידחוף ל- github קובץ עדכני.
*תגיד, mybinder טוען מחדש את הריפו מ-github בכל הרצה, כך שכל commit ב- github מתשקף מיד ב mybinder (במכונות חדשות) ? או ש-mybinder מחזיק בעצמו איזשהו קאש של הריפו ?
אז זה באמת לא TR TD אלא CSV (-דרעק כי בראשו יש סתם נתונים אינפורמטיביים ששוברים את האחידות של הקובץ, אם כי זה בקטנה היות שאפשר להעיף את 2 השורות הראשונות).
אבל זה פח, צריך לפחות 2 requests כל פעם, ראשון הוא POST עם הטופס והפרמטרים, שמחזיר HTML ידוע לשמצה, ואחר כך request נוסף לקבל את אותם תוצאות ב- CSV, איך השרת יודע איזה אוכלוסיה להחזיר ב- CSV הרי הוא לא מקבל פרמטרים? תנחש... נכון, הוא שומר אצלו בסשן באמצעות העוגיה ASP.NET_SessionId כלומר אם תרצה להריץ תהליך שמושך במקביל (בתקווה שהשרת יעמוד בעומס..) תצטרך לדאוג שכל משיכה תתנהל עם סשן נפרד. בהצלחה.
 
דרעק כי בראשו יש סתם נתונים אינפורמטיביים ששוברים את האחידות של הקובץ
דווקא זה נהוג... לתאר את העמודות...
הוא שומר אצלו בסשן באמצעות העוגיה
האמת שלא נראה לי...
מלהסתכל על הבקשות נראה לי שהם מעבירים GUID בהדר.... בתשובה של הראשון ובבקשה של השני...
תצטרך לדאוג שכל משיכה תתנהל עם סשן נפרד
טריוויאלי... פותח HTTP CLIENT חדש לכל בקשה....
 
דווקא זה נהוג... לתאר את העמודות...
ברור.
לא הבנת אותי - חוץ מהכותרות, הנה
קוד:
נתונים היסטוריים - ברימאג - 01094283
מתאריך 04/05/2000 עד תאריך 04/06/2018, תדירות נתונים: יומי

תאריך,שער נעילה מתואם,שער נעילה (באגורות)    ,שינוי(%),שער פתיחה,שער בסיס,שער גבוה,שער נמוך,הון רשום למסחר,שווי שוק (אלפי ש"ח),מחזור מסחר(ש"ח),מחזור ביחידות,מספר עסקאות,סוג האקס *,מקדם אקס,ממ"מ,אחוז החזקות הציבור למדד
04/06/2018,1726.0000,1726.0000,-1.71,1756.0000,1756.0000,1730.0000,1721.0000,10111511,174525,19412,1125,4,,,10111511.00,
03/06/2018,1756.0000,1756.0000,1.39,1732.0000,1732.0000,1756.0000,1756.0000,10111511,177558,21283,1212,6,,,10111511.00,
 
ברור.
לא הבנת אותי - חוץ מהכותרות, הנה
קוד:
נתונים היסטוריים - ברימאג - 01094283
מתאריך 04/05/2000 עד תאריך 04/06/2018, תדירות נתונים: יומי

תאריך,שער נעילה מתואם,שער נעילה (באגורות)    ,שינוי(%),שער פתיחה,שער בסיס,שער גבוה,שער נמוך,הון רשום למסחר,שווי שוק (אלפי ש"ח),מחזור מסחר(ש"ח),מחזור ביחידות,מספר עסקאות,סוג האקס *,מקדם אקס,ממ"מ,אחוז החזקות הציבור למדד
04/06/2018,1726.0000,1726.0000,-1.71,1756.0000,1756.0000,1730.0000,1721.0000,10111511,174525,19412,1125,4,,,10111511.00,
03/06/2018,1756.0000,1756.0000,1.39,1732.0000,1732.0000,1756.0000,1756.0000,10111511,177558,21283,1212,6,,,10111511.00,
איזה לייצנים....
 
ברור.
לא הבנת אותי - חוץ מהכותרות, הנה
קוד:
נתונים היסטוריים - ברימאג - 01094283
מתאריך 04/05/2000 עד תאריך 04/06/2018, תדירות נתונים: יומי

תאריך,שער נעילה מתואם,שער נעילה (באגורות)    ,שינוי(%),שער פתיחה,שער בסיס,שער גבוה,שער נמוך,הון רשום למסחר,שווי שוק (אלפי ש"ח),מחזור מסחר(ש"ח),מחזור ביחידות,מספר עסקאות,סוג האקס *,מקדם אקס,ממ"מ,אחוז החזקות הציבור למדד
04/06/2018,1726.0000,1726.0000,-1.71,1756.0000,1756.0000,1730.0000,1721.0000,10111511,174525,19412,1125,4,,,10111511.00,
03/06/2018,1756.0000,1756.0000,1.39,1732.0000,1732.0000,1756.0000,1756.0000,10111511,177558,21283,1212,6,,,10111511.00,
כי זה מיועד לעיני אדם, לא לעיני מכונה (APIׂ), מי שמשלם להם מקבל נתונים מזוקקים
בכל מקרה, אפשר לדלג לנתונים הרלוונטים די בקלות
 
בכל מקרה, אפשר לדלג לנתונים הרלוונטים די בקלות
נכון, אמרתי את זה.
טריוויאלי... פותח HTTP CLIENT חדש לכל בקשה....
אל תשכח cookie container ..... (אתה C# oriented עד כמה שזכור לי)
האמת שלא נראה לי...
מלהסתכל על הבקשות נראה לי שהם מעבירים GUID בהדר.... בתשובה של הראשון ובבקשה של השני...
טוב, הכרחת אותי לצרף תמונה, הנה req-res של הקובץ CSV, אין שום GUID ב- URL (העליון זה עם session cookie, והתחתון בלי):
blAWzPo.png
 
היי
איזה נתונים בדיוק אתם רוצים לשלוף משם?
יש לי קצת נתונים שאספתי בעבר.
כל סקרפינג של נתונים מהאתר של הבורסה זה כאב ראש וצריך לעשות את זה חד פעמי כי קבוע הם בטוח יחסמו את זה.
ישבתי על זה קצת בדיוק לא מזמן, צריך לדמות את 2 הלחיצות, אחת על הטווח של הנתונים ואחת על ההצג נתונים, כל השאר קל.
זה הטווח נתונים:
<input id="ctl00_SPWebPartManager1_g_c001c0d9_0cb8_4b0f_b75a_7cc3b6f7d790_ctl00_HistoryData1_rbPeriod7" type="radio" name="ctl00$SPWebPartManager1$g_c001c0d9_0cb8_4b0f_b75a_7cc3b6f7d790$ctl00$HistoryData1$rbPeriod" value="rbPeriod7" onclick="javascript:ChangeFrequency('7', true);" aria-label="על מנת להפוך את האתר לנגיש לקורא מסך לחץ alt + 1. על מנת להפסיק הודעה זאת לחץ alt + 2.">
זה ההצג נותנים:
<input type="button" value="הצג נתונים " class="RegularButton" width="70" onclick="frmsubmit('0')" aria-label="על מנת להפוך את האתר לנגיש לקורא מסך לחץ alt + 1. על מנת להפסיק הודעה זאת לחץ alt + 2.">

אבל כשקיבלתי את הדף מפורק לHtmlElement לא הצלחתי למצוא התאמה לid\value. יכול להיות שהוא מזהה את הבקשה ונותן דף שונה. ושם התעייפתי חחחחח
 

פתחו חשבון למסחר עצמאי

פסגות טרייד

ישראל: 0.06% מעסקה (מינימום ₪2 לפעולה)
ארה"ב: 1¢ למניה (מינימום $6 לפעולה)
דמי ניהול: ללא דמי ניהול
מינימום: ₪10,000
פתיחת חשבון

מיטב טרייד

ישראל: 0.08% מעסקה (מינימום ₪4.65 לפעולה)
ארה"ב: 1¢ למניה (מינימום $6 לפעולה או $5 ב-IBKR)
דמי ניהול: פטור לשנתיים, אח״כ ₪15
מינימום: ₪5,000
פתיחת חשבון

אקסלנס טרייד

ישראל: 0.07% מעסקה (מינימום ₪3 לפעולה)
ארה"ב: 1¢ למניה (מינימום $6 לפעולה או $5 ב-IBKR)
דמי ניהול: פטור לשלוש שנים, אח״כ ₪15
מינימום: ₪10,000
פתיחת חשבון
פסגות טרייד
מינימום לפתיחת חשבון: ₪10,000
⌄
ישראל: 0.06% מעסקה (מינימום ₪2 לפעולה)
ארה"ב: 1¢ למניה (מינימום $6 לפעולה)
דמי ניהול: ללא דמי ניהול
פתיחת חשבון
מיטב טרייד
מינימום לפתיחת חשבון: ₪5,000
⌄
ישראל: 0.08% מעסקה (מינימום ₪4.65 לפעולה)
ארה"ב: 1¢ למניה (מינימום $6 לפעולה או $5 ב-IBKR)
דמי ניהול: פטור לשנתיים, אח״כ ₪15
פתיחת חשבון
אקסלנס טרייד
מינימום לפתיחת חשבון: ₪10,000
⌄
ישראל: 0.07% מעסקה (מינימום ₪3 לפעולה)
ארה"ב: 1¢ למניה (מינימום $6 לפעולה או $5 ב-IBKR)
דמי ניהול: פטור לשלוש שנים, אח״כ ₪15
פתיחת חשבון
גילוי נאות: האתר מקבל תגמול בגין פתיחת חשבון דרך הקישורים. אין באמור משום ייעוץ השקעות או שיווק השקעות.
היי
איזה נתונים בדיוק אתם רוצים לשלוף משם?
נתוני פתיחה וסגירה היסטוריים של שערי פתיחה וסגירה פר ני"ע.
הם בטוח יחסמו את זה.
יושבים מאחורי Incapsula (בין היתר כדי ששכנינו לא יקריסו את האתר) אז לעיתים הוא עלול גם לחשוד בבקשות לא שגרתיות.
זה הטווח נתונים:
<input id="ctl00_SPWebPartManager1_g_c001c0d9_0cb8_4b0f_b75a_7cc3b6f7d790_ctl00_HistoryData1_rbPeriod7" type="radio" name="ctl00$SPWebPartManager1$g_c001c0d9_0cb8_4b0f_b75a_7cc3b6f7d790$ctl00$HistoryData1$rbPeriod" value="rbPeriod7" onclick="javascript:ChangeFrequency('7', true);" aria-label="על מנת להפוך את האתר לנגיש לקורא מסך לחץ alt + 1. על מנת להפסיק הודעה זאת לחץ alt + 2.">
זה ההצג נותנים:
<input type="button" value="הצג נתונים " class="RegularButton" width="70" onclick="frmsubmit('0')" aria-label="על מנת להפוך את האתר לנגיש לקורא מסך לחץ alt + 1. על מנת להפסיק הודעה זאת לחץ alt + 2.">
היכן הפעלת את הסקריפט? ב- browser console ?
 
נושאים דומים
פותח הנושא כותרת פורום תגובות תאריך
ה Backtesting גלגול חוזים עם Retropy שוק ההון 3

נושאים דומים

Back
למעלה