בקשה | סקריפט להורדת הספרים בהיברו בוקס שלא קיימים באוצה"ח
-
@האדם-החושב כתב בבקשה | סקריפט להורדת הספרים בהיברו בוקס שלא קיימים באוצה"ח:
יש לי את הקובץ הזה
אני רוצה סקריפט שיוריד את כל הקבצים שלא קיימים באוצה"ח
ניסיתי לבקש מGPT סקריפט לזה, אבל משום מה הוא לא מבין אותי
https://chat.openai.com/share/348c0c0c-fa2c-4001-ad13-2cc5d1d4986b
https://chat.openai.com/share/e4564e5a-cf0c-4fe6-a2dc-848382195d4d
https://chat.openai.com/share/fccf9ef9-aa26-40fc-bc02-6edb4776bb6dזה מאוד פשוט,
הכתובת להורדה של היברו בוקס לספרים זהhttps://download.hebrewbooks.org/downloadhandler.ashx?req={id_book}
תריץ לולאה על על האקסל, שניגשת להוריד, וכל פעם תשמור את הספר בשם שאתה רוצה
-
@האדם-החושב כתב בבקשה | סקריפט להורדת הספרים בהיברו בוקס שלא קיימים באוצה"ח:
@MGM-IVR הבעיה היא שהלינקים באקסל הם לדף של הספר, ולא לקובץ
ניסיתי להסביר לו מה אני רוצה ללא הצלחה יתירהתחתוך מהסוף רק את הid
-
הבעיה היא שהסקריפטים לא מזהים את זה כהיפר לינק ,גם בשורת הנוסחאות מופיע רק הטקסט למרות שכשלוחצים על זה נפתח הדף בהיברו בוקס
-
@MGM-IVR
links.xlsx
הלינקים שאני רוצה לחלץ מהם את הurl נמצאים בעמודה b
@מטעמים -
@האדם-החושב
תנסה תחילה להפוך באקסל עצמו את ההיפר קישור לURL.שאלתי את בארד ובלבל בשכל, רובי בוט הציע כך:יש לי היפר קישור באקסל, ואני רוצה להפוך את ההיפר קישור שיציג בתא את כתובת ה-URL המלאה. איך עושים זאת?
כדי להציג את כתובת האתר המלאה של היפר-קישור ב-Excel, תוכל להשתמש בשילוב של פונקציות. כך תוכל לעשות זאת:- בהנחה שההיפר-קישור שלך נמצא בתא A1, בתא אחר (נניח B1), השתמש בנוסחה הבאה:
=HYPERLINK(A1,A1 =HYPERLINK(A1,A1)
נוסחה זו יוצרת היפר-קישור חדש באמצעות כתובת האתר מתא A1 ומציגה אותו כקישור הניתן ללחיצה בתא B1.
- כדי להציג את כתובת האתר המלאה כטקסט רגיל ללא ההיפר-קישור, השתמש בנוסחה הבאה בתא אחר (נניח C1):
=SUBSTITUTE(FORMULATEXT(B1),"=HYPERLINK(","" =SUBSTITUTE(FORMULATEXT(B1),"=HYPERLINK(","")
נוסחה זו מחלצת את כתובת האתר מנוסחת ההיפר-קישור בתא B1 ומציגה אותה כטקסט רגיל בתא C1.
על ידי ביצוע שלבים אלה, ההיפר-קישור יוצג כקישור הניתן ללחיצה בתא אחד (B1) וכתובת האתר המלאה תוצג כטקסט רגיל בתא אחר (C1).
-
@106
@האדם-החושב כתב בבקשה | סקריפט להורדת הספרים בהיברו בוקס שלא קיימים באוצה"ח:גם בשורת הנוסחאות מופיע רק הטקסט למרות שכשלוחצים על זה נפתח הדף בהיברו בוקס
-
@האדם-החושב
יתכן שזה קשור להגנת גליון. ראה כאן (אם כי אינני מבין למה הנוסחאות של טור A מוצגות)
הבעיה שקובץ מוגן עם סיסמה. ראיתי בגוגל שמראים איך לפרוץ את ההגנה. -
-
@האדם-החושב כתב בבקשה | סקריפט להורדת הספרים בהיברו בוקס שלא קיימים באוצה"ח:
הבעיה היא שהלינקים באקסל הם לדף של הספר, ולא לקובץ.
בבקשה:
קוד מאקרו לחילוץ הלינקים, יכתוב לך את כל הלינקים של עמודה B, בעמודה D.
תריץ את זה רק אם יש לך מחשב חזק במיוחד, ותשמור את החומר לפני כי זה על 50,000 שורות וכל תא הוא כותב בנפרד, מניסיון זה עלול לתקוע את אקסל.Sub חילוץ_קישורים() 'סימון הטווח המקביל להרצת הקוד Range("B2").End(xlDown).Offset(0, 2).Select Range(Selection, "D2").Select 'הפעלת לולאה, כל תא מקבל את הקישור של התא המקביל אליו באותה שורה For Each cell In Selection cell.Value = ActiveSheet.Range(cell.Address).Offset(0, -2).Hyperlinks(1).Address Next cell End Sub
עריכה: הצלחתי להריץ את הקוד על המחשב שלי. מצורף קובץ עם הקישורים:
קובץ עם קישורים.xlsx -
@מטעמים
כל הלינקים בקובץ שהעלית הם לינק אחד - נגמרים ב25114, כנראה שהוא לקח את הנתונים רק מתא אחדניסיתי להוריד בעזרת הסקריפט הזה:
import pandas as pd import requests import os import re # Define a function to download files from URLs def download_file(url, filename): response = requests.get(url) if response.status_code == 200: with open(filename, 'wb') as f: f.write(response.content) print(f"Downloaded {filename}") else: print(f"Failed to download {filename} from {url}") # Load the Excel file excel_file = 'חוברת1.xlsx' # Replace with your file path df = pd.read_excel(excel_file, engine='openpyxl') # Iterate through the DataFrame and download files for index, row in df.iterrows(): if row['ספרים קיימים'] == 'ספר זה הוא ספר חדש': hybrid_box_text = row['היברו בוקס'] full_link = row['לינק מלא'] # Extract the file extension from the URL file_extension = re.search(r'\.\w+$', full_link) if file_extension: file_extension = file_extension.group() else: file_extension = '.pdf' # Default to .txt if extension is not found # Generate the filename and download the file filename = f"{hybrid_box_text}{file_extension}" download_file(full_link, filename)
שרץ על הקובץ הזה
חוברת1.xlsx
אני מקבל על כל הקבצים שגיאה:Failed to download אבות.pdf from https://download.hebrewbooks.org/downloadhandler.ashx?req=25114 Failed to download אבות.pdf from https://download.hebrewbooks.org/downloadhandler.ashx?req=25114 Failed to download אבות דר' אלעזר - תפארת דוד.pdf from https://download.hebrewbooks.org/downloadhandler.ashx?req=25114
מישהו יודע אם היברו בוקס חסמו הורדה מרובה?
ואם כן האם יש דרך לעקוף את זה? -
@האדם-החושב כתב בבקשה | סקריפט להורדת הספרים בהיברו בוקס שלא קיימים באוצה"ח:
כל הלינקים בקובץ שהעלית הם לינק אחד - נגמרים ב25114, כנראה שהוא לקח את הנתונים רק מתא אחד
צודק. תיקנתי את הקוד.
העליתי קובץ חדש. -
@האדם-החושב כתב בבקשה | סקריפט להורדת הספרים בהיברו בוקס שלא קיימים באוצה"ח:
מישהו יודע אם היברו בוקס חסמו הורדה מרובה?
כן
-
@צדיק-תמים זה עדיין לא מסביר למה על הקובץ הראשון זה מחזיר שגיאה
להלן קובץ האקסל המעודכן
חוברת1.xlsx -
@האדם-החושב כתב בבקשה | סקריפט להורדת הספרים בהיברו בוקס שלא קיימים באוצה"ח:
@צדיק-תמים זה עדיין לא מסביר למה על הקובץ הראשון זה מחזיר שגיאה
כנראה לפי UserAgent וכדומה