بهروزرسانی ۹ آبان ۹۷:
مشکل ارور ONDOWNLOAD که در کامنتها بهش اشاره شده بود مربط میشه به نسخهی جدیدتر نرمافزار iMACROS. کد رو برای اجرا در این نرمافزار تغییر دادم.
صورت مساله:
سایت کتابخونهی دانشگاه علامه طباطبایی به دانشجوهای خودش اجازه میده به صورت آنلاین و فقط از طریق سایت خودش پایاننامههای دانشگاه رو ببینند. کافیه یه دانشجو با یوزرنیم پسورد خودش وارد سایت بشه و بعد از پیدا کردن پایاننامهای که مناسبه، بره تو بخش پیوستها و پایاننامه رو صفحه به صفحه به صورت آنلاین مرور کنه.
متاسفانه سایت رو طوری طراحی کردند که حتی نشه صفحات پایاننامه رو ذخیره کرد! یعنی کدی در صفحه گذاشتند که اجازهی استفاده از کلیدهای ترکیبی مثل Ctrl+S رو برای ذخیره صفحه نمیده. ولی خب وقتی در حال کار با یه سیستم کامپیوتری هستید این بیمعناست. چون به راحتی میشه صفحه رو بزرگ کرد، اسکرینشات گرفت و صفحه رو ذخیره کرد.
بعدش این صفحاتی که اسکرین شات گرفتیم رو میتونیم اضافاتش رو ببریم، کنار هم بذاریم و بدیم یه نرمافزاری مثل A-pdf merger اونو تبدیل کنه به یه PDF.
اما این کار زمان زیادی میگیره. یکی یکی صفحات رو لود کن، اسکرینشات بگیر، ذخیره کن و حاشیه رو ببر و به هم بچسبون.
چه کار کنیم سریعتر خود کامپیوتر انجامش بده؟
من بلدم(: با من همراه باشین.
نکته: برای انجام این فرآیند نیاز به یوز پسورد ورود به سایت کتابخونهی دانشگاه علامه دارید.
قدم اول:
اول باید الگویی کشف کنیم که کامپیوتر بفهمه. مثلا همچین چیزی:
که اگه فقط 001 رو بکنیم 002 صفحهی بعد رو بیاره (البته لینک رو تست نکنین، از خودم الکی مثال زدم).
خب. بریم به مشخصات صفحه نگاه کنیم:
میبینین که آدرس صفحهی پایاننامه، با این که من به صفحهی دوم هم رفتم فرقی نکرده. در نتیجه آدرس صفحه مشخصهای نیست که به راحتی بشه کار رو اتوماتیک کرد.
باید جزئیتر بررسی کنیم. برای این کار Developer tools رو توی کروم روشن میکنم.
Developer Tools در مرورگر کروم (یا با نام مشابه در Firefox و Edge و Opera) ابزاریاه که اجازه میده اجزای صفحه رو بررسی کنید. کد صفحه رو ببینید، بفهمید رنگ دقیقی که توی صفحه برای فونت استفاده شده چیه، از چه فونتی استفاده شده، آدرس دقیق عکسهایی که تو صفحه است چیه و الخ. این ابزار تو همهی مرورگرهای معروف وجود داره.
تو هر صفحهای که باشید اغلب کافیه کلیک راست کنید و Inspect Element رو انتخاب کنید.
ولی خب سایت کتابخونهی دانشگاه علامه اجازهی کلیک راست نمیده که بعدش Inspect Element رو انتخاب کنم. برای همین توی مرورگر کروم، اون سهنقطهی گوشهی بالا سمت راست رو کلیک میکنم و از بخش More tools، روی گزینهی Developer Tools کلیک میکنم
تو صفحهای که باز میشه (احتمالا میچسبه به سمت راست یا پایین همون صفحه) باید بریم تو تب Sources تا ببینیم اجزای این صفحهای که میبینیم چیا هستند. چه کدها و عکسهایی از کجا لود شدند.
لیست فایلها رو میشه تو ستون سمت چپ دید. اینجا بهتره یکی یکی رو فایلهایی که شک دارید کلیک کنید و ببینید که محتواشون چی هست. اغلب کد هستند یا تصاویر کوچیکی مثل فلش و ضربدر.
من بعد از امتحان فایلهای دیگه، فهمیدم فایل یکی مونده به آخری، اونی که اسمش با exImageDraw شروع میشه، فایل عکس اون صفحه از پایاننامه است که دیده میشه. آدرسش هم شبیه به همچین چیزیاه:
(به جای ستارههای آخر آدرس فایل در واقعیت عدد نوشته. من به جاشون ستاره گذاشتم که از سمت دانشگاه کسی نتونه گیر بده فایلی که مختص دانشجوها بود رو رایگان گذاشتی رو اینترنت)
میبینید که یه جاییش نوشته Page=2. اینو من عوض کردم و دیدم که بله، اگه همین آدرس رو کپی کنم توی مرورگر و به جای startPage=2 بزارم startPage=11، صفحهی ۱۱ام پایاننامه رو نشون میده.
سختترین بخشش تا همین جا بود. پیدا کردن الگو و دستکاری کردنش تا ببینیم نتیجه میده یا نه. بقیهش آسونه. باید یه نرمافزاری پیدا کنیم که بهش آدرس صفحهی اول رو بدیم و بگیم به جای عددی که جلوی startPage= نوشته شده، یکی یکی از ۱ شروع کنه و مثلا تا ۱۵۰ بره و همهی صفحات رو ذخیره کنه.
قدم دوم: نرمافزار دانلود اتوماتیک
میشه این کار رو با اکسل هم انجام داد. کافیه آدرس صفحهی اول رو بزاریم تو یه سلول و بعد بگیم سلول پایینش ۱ رو بکنه ۲ و الی آخر. بعد که لیست صفحات رو داشتیم، یه کد بزنیم که صفحات رو ذخیره کنه.
ولی من این روش رو دوست ندارم. زیادی کد نویسی میخواست و من هنوز با کدها راحت نبودم. برای همین از نرمافزار iMacros استفاده کردم.
کار این نرمافزار همین اتوماسیون کارهای تکراری هست که روی اینترنت و با مرورگرها انجام میدیم. نرمافزار رو دانلود و نصب کنید (صفحهی دانلود نرمافزار iMacros).
بعد از اجرا، این فایل رو دانلود کنید و تو پوشهی:
C:\Users\یوزنیم شما\Documents\iMacros\Macros
کپی کنید. این فایل، چند خط کد سادهایاه که من نوشتم.
SET !LOOP 1
ONDOWNLOAD FOLDER=C:\saeed FILE={{!LOOP}}
URL GOTO=http://d-lib.atu.ac.ir/exImageDraw?startPage={{!LOOP}}&endPage=2&scale=150&filePath=null&language=fa&multimediaId=*******&biblioId=*******
TAG POS=1 TYPE=IMG ATTR=HREF:http://*.jpg CONTENT=EVENT:SAVEITEM
خط اول میگه میخوام یه کاری رو تکرار کنی که اولین عددش ۱ باشه.
خط سوم با دستور URL GOTO میگه به آدرسی که تو قدم اول برای عکس پایاننامه پیدا کردیم برو.
خط چهارم هم در نهایت میگه با فرمت PNG ذخیره کن. طوری که اسم فایل شمارهی صفحهی پایاننامه باشه. این طوری اسم فایل صفحهی اول میشه 1.png و اسم فایل دوم 2.png و الی آخر.
حالا اگه نرمافزار رو اجرا کنید، میبینید که تو ستون سمت راستتون اسم فایلی که کپی کردید اومده. روی اسم فایل کلیک راست کنید و Edit Macro رو بزنید.
همچین صفحهای براتون باز میشه. حالا روبهروی خطی که اولش نوشته URL GOTO= هرچی هست پاک کنید و آدرس عکسی که از پایاننامه با استفاده از Developer Tools پیدا کردید کپی کنید:
تقریبا تمومه. فقط کافیهی عدد ۱۱ رو پاک کنید و به جاش تایپ کنید:
{{!LOOP}}
همین. شما الآن کدی نوشتید که از ۱ شروع کنه و تا هر جایی که بگیم یکی یکی عکسها رو لود کنه و با اسم صفحه ذخیره کنه. حالا این صفحه رو ذخیره کنید و ببندید.
الآن کافیه تو صفحهی اصلی نرمافزار همین فایل رو انتخاب کنید و اون پایین زیر Max بنویسید مثلا ۱۵۰، تا شروع کنه به ذخیره کردن تک تک صفحات پایاننامه. فایلهایی که در پوشهی saeed درایو C شما ذخیره میشن، پسوند نخواهند داشت. با نرمافزار(مثلا Advanced Renamer) یا به صورت دستی برا همهشون یه پسوند png اضافه کنید.
دقت کنید: به جای ۱۵۰ بهتره یه عددی بیشتر از صفحات پایاننامه بنویسید. مثلا اگه پایاننامه ۱۶۴ صفحه داره، شما بزنید ۱۸۰ نهایتا ۱۶ صفحهی سفید دانلود میکنه. اما اگه بزنید ۱۵۰، اون ۱۴ صفحهی بعدش رو دیگه دانلود نمیکنه.
حالا اگه برید به آدرس زیر، میبینید که تک تک صفحات پایاننامه به صورت عکس ذخیره شده و کار تمومه. همین طوری هم میتونید نگاه کنید یا اگه خواستید تبدیل کنید به یه PDF.
C:\Users\یوزنیم شما\Documents\iMacros\Downloads
قدم آخر: لذت بردن از PDF
برای این که کار نهایی تمیزتر بشه و راحتتر بتونین پایاننامه رو نگه دارین، بهتره تبدیلش کنین به PDF.
نرمافزارهای زیادی برای این کار هستند، ولی من از A-PDF Merger خوشم اومد. ساده و راحت کار رو انجام میده.
نرمافزار رو دانلود کنید و بعد از اجرا، کل فایلهای صفحات مختلف پایاننامه رو بندازید توش:
فقط دقت کنید حتما روی کلمهی Modified کلیک کنید که ترتیب صفحات درست باشه و از ۱ شروع کنه.
روی دکمهی Merger که کلیک کنید، بعد چند ثانیه pdf پایاننامه رو تحویل میده(:
تمام شد(:
اگه یادش بگیرید تو ۳ دقیقه هم انجام میشه. و البته که این روند رو میشه برای کلی کاربرد دیگه هم استفاده کرد.
سال ۹۵ تو شرکتی که کار میکردم به صورت فوری نیاز بود یه کار تکراری ساده رو ۴ هزار باری انجام بدیم (برای ۴ هزار تکه اطلاعات مختلف). از همچین نرمافزاری استفاده کردم و ۵ کامیپوتر مختلف رو روشن گذاشته بودم که کار رو انجام بدن. خیلی حس خوبی میداد. انگار من پادشاه کامپیوترهام! اونم وقتی که همکارام به صورت دستی داشتن انجام میدادن.
تابستون سال ۹۶ هم تو همون شرکت لازم شد کل تعرفههای گمرکی رو تو یه اکسل داشته باشیم. با Beautiful Soup پایتون و یه کد ساده و ترکیبش با اکسل به راحتی انجام دادم.
اگه دوست دارین همچین کارهایی بکنین، پست «وب اسکرپینگ با پایتون و پیدا کردن کتابهایی از نویسندههای خاص» از جادی بسی خوبه.
اینم فیلم سریع انجام همین کارها (با سرعت ۲برابر):
همین کارو کردین که الان تمام پایان نامه های شهید بهشتی رو هم برداشتن و ما مجبوریم مثل عهد عتیق بریم بشینیم تو کتابخونه. پایان نامه ها رو ببینیم!!!!
به دل نگیرید منظورم به شخص شما نیست. در کل انسانهایی هستیم که حوصله تایپ نداریم ولی حاضریم بشینیم کلی زمان بذاریم راه های جدید برای دانلود کل مطلبی که یک صفحه اش به ردمون میخوره پیدا کنیم.آخه ما که کل پایان نامه به دردمون نمیخوره ولی همشو میخواهیم.
ولی در کل دمتون گرم راه خوبی بود:)
انتشار علم به پیشرفتش منجر میشه ولی تو ایران تبعاتی هم داره که منجر به فیلتر شدنش میشه... 🙂
اتفاقا من یکی از اون معدود آدماییام که فعلا تو پایاننامهام کپی نکردم(بدون ذکر منبع و اشاره که دارم نقل قول میکنم).
این برا خودم لازم شد چون گاهی یه چند تا پایاننامه باید جلو دست باشه که هی رجوع کنم و لینک بدم و یا مثلا برا استاد بفرستم نگاه کنه. که خب با آنلاین و اون دنگ و فنگ نمیشد.
و البته به نظرم درستش هم اینه همهشون رو رایگان بزارن در دسترس همه. چرا نزارن؟
اتفاقا منظور منم همینجاست دانشجویی که دنبال کپی کردن نیست پس نیازی به همه مطالب یک پایان نامه نداره.
و صد البته که منظورم این نبوود که شما برای کپی کردن این کار رو میکنید بلکه منظور من این رفتار و عادت حتی در شخص خودم بود که همیشه کل یک مطلب رو میخواهیم داشته باشیم هر چند که مطمئنیم همش مورد نیازمون نخواهد بود. تمامیت خواهی.
اینکه باید رایگان در اختیار همه باشه یا نه یه کمی بحث بر انگیزه. دانشگاه های بزرگ دنیا هم گاهی به راحتی پایان نامه ها رو در اختیار نمیذارن. این سیاست های محافظه کارانه مسلما به نفع دانشجو نیست ولی از طرفی هم فضا رو برای سو استفاده برای بعضی ها باز میذاره. همین هایی که توی انقلاب مقاله و پایان نامه میفروشن از کجا میارن این همه اطلاعات رو ... همشو که نمیتونن از نبوغشون استفاده کنن باید جاهاییش رو کپی کنن مسلما. اون هم از نوع pure copy بدون ذره ای تغییر در محتوا.
سلام خسته نیاشید ببخشین من میرم گزینه نمایش رو میزنم بجای نمایش پایانامه سفی ها همه سفیدن مشکل از چیه با دوتا سیستم و گوشی چک کردم کل پایانامه ها نمایش که میزنم صفحه ها سفیدن ممنون میشم کمکم کنین ضروریه
این مشکل راهحلی نداره. انگار بیشتر هم پنجشنبه جمعهها ایجاد میشه.
شنبه دوباره سعی کنین.
بعیده، ولی شاید استفاده از یه سیستم،مرورگر و اکانت یه نفر دیگه کمک کنه.
سلام وقتتون بخیر
تاچند وقت پیش می شد استفاده کرد ولی چند وقته که نرم افزار ارور زیر رو میده
Error -1450: No ONDOWNLOAD command found. Canceling file download from http://d-lib.atu.ac.ir/exImageDraw?startPage=1&endPage=1&scale=100&language=fa&multimediaId=8856748&biblioId=74322
مشکل مربوط به تغییرات نسخهی جدید نرمافزار بود. کد رو به روزرسانی کردم.
سلام من برنامه رو نصب کرم طبق گفته شما عمل میکنم به جای عدد یازده هم همونی که گفتین رو مینویسم ولی اروور میده موقع زدن دکمه پلی. Error -1450: No ONDOWNLOAD command found. Canceling file download from http://d-lib.atu.ac.ir/exImageDraw?startPage=1&endPage=1&scale=100&language=fa&multimediaId=****&biblioId=*** ستاره هارو لان خودم زدم به جاش عدد میاره
سرم خلوت شد دوباره میرم یه نگاهی میندازم. ولی قولی نمیدم. شاید طول بکشه.
مشکل مربوط به تغییرات نسخهی جدید نرمافزار بود. کد رو به روزرسانی کردم.
سلام من همه مراحل رو رفتم ولی آخرش ارور 1300 داد
Error -1300: Cannot find HTML element of type "IMG:" with attribute(s) "HREF:http://*.jpg".. Line 4: TAG POS=1 TYPE=IMG ATTR=HREF:http://*.jpg CONTENT=EVENT:SAVEITEM