פורסם: 26/04/2020 - 08:54
נושא ההודעה: הוצאת ספרינגר מאפשרת הורדה חינם של מאות ספרים באנגלית
|
|
|
חזרה לתוכן הדיון |
פורסם: 26/04/2020 - 10:53
נושא ההודעה:
|
תודה רבה!
מצאתי ספר בנושא שהייתי צריך (לא מדעי מחשב/תכנות)
|
|
חזרה לתוכן הדיון |
פורסם: 26/04/2020 - 11:13
נושא ההודעה:
|
https://pastebin.com/zxzwxbiX
הרשימה מכאן, תורידו הכל עם הסקריפט
קוד: |
#!/bin/bash
cat books_list.csv | while read line; do
IFS=',' read -a array <<< "$line"
FILE_NAME=${array[0]}
TOPIC=${array[1]}
URL=${array[2]}
echo Download $FILE_NAME
#find the real url
REAL_URL=`curl $URL -s -L -I -o /dev/null -w '%{url_effective}'`
BOOK_ID=`echo ${REAL_URL##*/}`
DOWNLOAD_URL='https://link.springer.com/content/pdf/'${BOOK_ID}.pdf
curl $DOWNLOAD_URL --create-dirs -o "${TOPIC}"/"${FILE_NAME}".pdf
done
|
|
|
חזרה לתוכן הדיון |
פורסם: 26/04/2020 - 13:09
נושא ההודעה:
|
ראשית תודה ליוזם השרשור וגם לכותב הסקריפט!
רק יש לי בעיה קטנה - אני לא מכיר סקריפטים ואולי יש כאן הזדמנות..
אפשר הסבר קצר, מה אני אמור לעשות בכמה מילים?
מניח שצריך להעתיק את הסקריפט לקובץ - עם סיומת sh?
לשמור את הקובץ בתיקיית home ואז לכתוב את שם הקובץ והסיומת וזה כבר רץ לבד?
דרך אגב: מבין שהסקריפט פותח תיקיה בעצמו ושומר את כל הספרים בפורמט PDF. האם מוריד גם קבצי EPUB ? (למה טוב הפורמט הזה?). אם לא אז אקח את זה כתרגיל לעשות בעצמי..
|
|
חזרה לתוכן הדיון |
פורסם: 26/04/2020 - 13:46
נושא ההודעה:
|
הוראות לסקריפט ושיפור מסויים:
תעתיק את הסקריפט לקובץ (לא משנה הם והסיומת, תתן לסקריפט הרשאות ריצה ותריץ
הרשאות ריצה: chmod u+x filename
הרצה:
את רשימת הספרים תעתיק המ patebin שצירפתי לתוך קובץ בשם books_list.csv ושיהיה באותה תיקייה
בתיקייה שתריץ את הסקריפט זה יוריד לך את כל הקבצים, עשיתי שזה יוריד לתיקיות לפי נושא, כלומר בתיקיה של הסקריפט יווצרו לך תיקיות לפי נושא.
אתה יכול קצת לשחק עם הדברים אם בא לך אחרת זה די פשוט, עשיתי את זה לעצמי בחפיף וראיתי שי שעניין אז פרסמתי. אם תרצה להוריד epub זה קצת לשנות את הלינק של ההורדה.
ראיתי שיש שם הרבה קטגוריות שלא ממש רלוונטיות בשבילי וזה תופס די נפח אז שיפרתי שיוריד רק מתוך רשימה
קוד: |
#!/bin/bash
topics=("Physics and Astronomy" "Mathematics and Statistics" "Computer Science")
cat books_list.csv | while read line; do
IFS=',' read -a array <<< "$line"
FILE_NAME=${array[0]}
TOPIC=${array[1]}
URL=${array[2]}
if [[ " ${topics[@]} " =~ " ${TOPIC} " ]]
then
echo Download $FILE_NAME
#find the real url
REAL_URL=`curl $URL -s -L -I -o /dev/null -w '%{url_effective}'`
BOOK_ID=`echo ${REAL_URL##*/}`
DOWNLOAD_URL='https://link.springer.com/content/pdf/'${BOOK_ID}.pdf
curl $DOWNLOAD_URL --create-dirs -o "${TOPIC}"/"${FILE_NAME}".pdf
fi
done
|
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 00:32
נושא ההודעה:
|
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 07:16
נושא ההודעה:
|
עוד סקרפיט למי שרוצה בשימוש ב csv המקורי מ google docs ללא שינוי.
קוד: |
import csv
import os
CATEGORIES = ('Computer Science',
'Business and Economics',
'Business and Management',
'Mathematics and Statistics',
'Engineering')
with open("./data.csv", "r") as fp:
reader = csv.reader(fp)
for row in reader:
if row[0] == "Book Title":
continue
category = row[11]
if not category in CATEGORIES:
continue
id = row[17].replace("http://doi.org/", "")
link = f"https://link.springer.com/content/pdf/{id}.pdf"
fn = f"{category}/{row[0]} - {row[1]} ({row[4]}).pdf"
cmd=f"curl -SL --create-dirs -o '{fn}' '{link}'"
os.system(cmd)
|
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 08:04
נושא ההודעה:
|
Anonymous : | עוד סקרפיט למי שרוצה בשימוש ב csv המקורי מ google docs ללא שינוי.
קוד: |
import csv
import os
CATEGORIES = ('Computer Science',
'Business and Economics',
'Business and Management',
'Mathematics and Statistics',
'Engineering')
with open("./data.csv", "r") as fp:
reader = csv.reader(fp)
for row in reader:
if row[0] == "Book Title":
continue
category = row[11]
if not category in CATEGORIES:
continue
id = row[17].replace("http://doi.org/", "")
link = f"https://link.springer.com/content/pdf/{id}.pdf"
fn = f"{category}/{row[0]} - {row[1]} ({row[4]}).pdf"
cmd=f"curl -SL --create-dirs -o '{fn}' '{link}'"
os.system(cmd)
|
|
זה לא קוד python? איך אני אמור להריץ את זה?
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 08:51
נושא ההודעה:
|
Anonymous : | https://pastebin.com/zxzwxbiX
הרשימה מכאן, תורידו הכל עם הסקריפט
קוד: |
#!/bin/bash
cat books_list.csv | while read line; do
IFS=',' read -a array <<< "$line"
FILE_NAME=${array[0]}
TOPIC=${array[1]}
URL=${array[2]}
echo Download $FILE_NAME
#find the real url
REAL_URL=`curl $URL -s -L -I -o /dev/null -w '%{url_effective}'`
BOOK_ID=`echo ${REAL_URL##*/}`
DOWNLOAD_URL='https://link.springer.com/content/pdf/'${BOOK_ID}.pdf
curl $DOWNLOAD_URL --create-dirs -o "${TOPIC}"/"${FILE_NAME}".pdf
done
|
|
הסקריפט מוריד לי תיקיות ריקות ומחזיר שגיאות בלי הפסקה:
קוד: |
curl: (3) URL using bad/illegal format or missing URL
./4.txt: line 28: $'\r': command not found
./4.txt: line 5: $'\r': command not found
./4.txt: line 6: $'\r': command not found
./4.txt: line 8: $'\r': command not found
./4.txt: line 10: $'\r': command not found
./4.txt: line 12: $'\r': command not found
./4.txt: line 14: $'\r': command not found
Download "Clinical Methods in Medical Family Therapy
./4.txt: line 16: $'\r': command not found
./4.txt: line 17: $'\r': command not found
./4.txt: line 18: $'\r': command not found
./4.txt: line 20: $'\r': command not found
|
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 09:10
נושא ההודעה:
|
הייתה שגיאה בקוד !
זה הקוד המתוקן :
קוד: | #!/bin/bash
topics=("Physics and Astronomy" "Mathematics and Statistics" "Computer Science")
cat data.csv | while read line; do
IFS=',' read -a array <<< "$line"
FILE_NAME=${array[0]}
TOPIC=${array[1]}
URL=${array[2]}
if [[ " ${topics[@]} " =~ " ${TOPIC} " ]]
then
echo Download $FILE_NAME
#find the real url
REAL_URL=`curl $URL -s -L -I -o /dev/null -w '${URL}'`
BOOK_ID=`echo ${REAL_URL##*/}`
DOWNLOAD_URL='https://link.springer.com/content/pdf/'${BOOK_ID}.pdf
curl $DOWNLOAD_URL --create-dirs -o "${TOPIC}"/"${FILE_NAME}".pdf
fi
done |
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 10:36
נושא ההודעה:
|
Anonymous : | הייתה שגיאה בקוד !
זה הקוד המתוקן :
קוד: | #!/bin/bash
topics=("Physics and Astronomy" "Mathematics and Statistics" "Computer Science")
cat data.csv | while read line; do
IFS=',' read -a array <<< "$line"
FILE_NAME=${array[0]}
TOPIC=${array[1]}
URL=${array[2]}
if [[ " ${topics[@]} " =~ " ${TOPIC} " ]]
then
echo Download $FILE_NAME
#find the real url
REAL_URL=`curl $URL -s -L -I -o /dev/null -w '${URL}'`
BOOK_ID=`echo ${REAL_URL##*/}`
DOWNLOAD_URL='https://link.springer.com/content/pdf/'${BOOK_ID}.pdf
curl $DOWNLOAD_URL --create-dirs -o "${TOPIC}"/"${FILE_NAME}".pdf
fi
done |
|
תודה על ההתייחסות אבל כעת הוא מחזיר לי
קוד: | ./4.txt: line 2: $'\r': command not found
./4.txt: line 4: $'\r': command not found
./4.txt: line 17: syntax error in conditional expression
'/4.txt: line 17: syntax error near `]]
'/4.txt: line 17: ` if [[ " ${topics[@]} " =~ " ${TOPIC} " ]] |
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 11:06
נושא ההודעה:
|
אצלי זה כאילו עובד אבל יוצר קבצים קטנים בגודל 7.3k עבור כל ספר..
העתקתי את קובץ הספרים מהקישור שצויין בפוסט קודם https://pastebin.com/rmP5ZRzW
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 13:59
נושא ההודעה:
|
לדעתי זה לא מוריד את הספר עצמו, אלא עמוד html שאומר שהמשאב לא קיים.
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 14:05
נושא ההודעה:
|
לי עבדו שני הסקריפטים עם ה CSV המתוקן. שיניתי טיפה את הסקריפט השני שיוריד הכל אז יש לי עכשיו מאגר קריאה לדורות...
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 14:43
נושא ההודעה:
|
אצלי כאמור מוריד רק עמוד html בגודל 7.3k - זה עם הסקריפט הרגיל..
אבל עם הסקריפט של פייתון משהו חסר - העתקתי את הקוד לקובץ עם סיומת py אבל נראה שחסר הקובץ cvs - איך אני מוריד אותו ומקשר לפייתון? הקובץ רץ אך מודיע על שגיאה:
קוד: | $ ./springer_python.py
./springer_python.py: line 8: syntax error near unexpected token `('
./springer_python.py: line 8: `CATEGORIES = ("Computer Science",'
|
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 14:48
נושא ההודעה:
|
זו בעצם הודעת השגיאה הנכונה עם גרש על הקטגוריות (ניסיתי גם עם גרשיים..)
קוד: | $ ./springer_python.py
./springer_python.py: line 8: syntax error near unexpected token `('
./springer_python.py: line 8: `CATEGORIES = ('Computer Science','
|
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 15:30
נושא ההודעה:
|
בסוף יצרתי תוכנית פייתון בעצמי למי שמעונין, התוכנית יוצרת קישורים ומחזירה קובץ טקסט עבור תוכנות הורדה כמו IDM
קוד: | s = open(r'source.txt', 'r')
d = ''
m = open(r'result.txt', 'w')
for row in s:
q = row.split('isbn=')
w = q[1]
r = "%2F"
d = 'https://link.springer.com/content/pdf/10.1007{}{}.pdf\n'.format(r, w)
m.write(d) |
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 15:32
נושא ההודעה:
|
לאלו שהיו בעיות עם הסקריפט BASH - רוב הסיכויים שלא שמרתם נכון את הקובץ CSV - הורידו RAW מ PASTEBIN - והשתמשו בקובץ CSV המתוקן כי בקובץ המקורי יש פסיקים בשמות בספרים וזה דופק את ההורדות שלהם.
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 16:05
נושא ההודעה:
|
ציטוט: | לאלו שהיו בעיות עם הסקריפט BASH - רוב הסיכויים שלא שמרתם נכון את הקובץ CSV - הורידו RAW מ PASTEBIN - והשתמשו בקובץ CSV המתוקן כי בקובץ המקורי יש פסיקים בשמות בספרים וזה דופק את ההורדות שלהם. |
ניסיתי ואצלי זה לא עובד. או ששיניתם משהו ולא עדכנם גם כאן או שאני לא יודע..
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 19:44
נושא ההודעה:
|
Anonymous : | הייתה שגיאה בקוד !
זה הקוד המתוקן :
קוד: | #!/bin/bash
topics=("Physics and Astronomy" "Mathematics and Statistics" "Computer Science")
cat data.csv | while read line; do
IFS=',' read -a array <<< "$line"
FILE_NAME=${array[0]}
TOPIC=${array[1]}
URL=${array[2]}
if [[ " ${topics[@]} " =~ " ${TOPIC} " ]]
then
echo Download $FILE_NAME
#find the real url
REAL_URL=`curl $URL -s -L -I -o /dev/null -w '${URL}'`
BOOK_ID=`echo ${REAL_URL##*/}`
DOWNLOAD_URL='https://link.springer.com/content/pdf/'${BOOK_ID}.pdf
curl $DOWNLOAD_URL --create-dirs -o "${TOPIC}"/"${FILE_NAME}".pdf
fi
done |
|
אני כותב הסקריפט המקורי, ולפני שאתה מתקן כדי שתבדוק מה אתה מתקן
https://stackoverflow.com/questions/3074288/get-final-url-after-curl-is-redirected
עשיתי את זה כי יש שם redirect
מי שיש לו בעיה זה כנראה בגלל העתקה לא נכונה, שמירה לא נכונה או משהו כזה, הייתי מעלה נורמלי לגיטהאב אבל לא רוצה להיחשף עם זה, לא יודע כמה הם יאהבו את העניין הזה.
|
|
חזרה לתוכן הדיון |
פורסם: 27/04/2020 - 21:42
נושא ההודעה:
|
|
|
חזרה לתוכן הדיון |
פורסם: 28/04/2020 - 01:11
נושא ההודעה:
|
מהקישור שהדבקת:
ציטוט: | These links no longer work. Springer have pulled the free plug. |
|
|
חזרה לתוכן הדיון |
פורסם: 28/04/2020 - 03:35
נושא ההודעה:
|
שיט. טוב, שמח שהספקתי להוריד לפני. ספק אם אי פעם אקרא את כל זה...
|
|
חזרה לתוכן הדיון |
פורסם: 28/04/2020 - 10:31
נושא ההודעה:
|
ספרינגר לא משכו כלום. תיכנסו לקישור המקורי ותנסו להוריד ספר
|
|
חזרה לתוכן הדיון |
פורסם: 29/04/2020 - 15:37
נושא ההודעה: More research resources…
|
Thanks.
Also, just a reminder, there are millions more (books and articles, research, fiction…) in LibGen.{is,lc}, Z-Library (b-ok.cc, booksc.xyz), BookFI.net, wikisource.org, etc.
|
|
חזרה לתוכן הדיון |
|