-
چهارشنبه, ۱۸ تیر ۱۳۹۹، ۰۸:۵۹ ب.ظ
-
۳۶۳
اسکرین شات گرفتن از یک وبسایت در لینوکس (خط فرمان)
درود به همه !
امروز میخوام یه چنتا ابزار بهتون معرفی کنم که کار همشون اینه که میتونن از یه وبسایت با یه آدرس مشخص مثلا mrpython.blog.ir اسکرین شات بگیرن و در فرمت های تصویری مثل png برای شما ذخیره کنن.
خب این ابزار هایی که معرفی میکنیم فقط برای لینوکس هستن و در ترمینال یا همون خط فرمان لینوکس ازشون استفاده میکنیم .
برای عکس برداری از یک وبسایت ابزار های زیادی هست . دوتا از بهترین هاشو با طرز استفاده اش برای شما شرح میدم .
۱ - ابزار cutycapt
خب یکی از بهترین ها و البته ابزار مورد علاقه ی من ابزار cutycapt هستش که قابلیت اسکرین شات گرفتن از یه وبسایت رو داره . برای نصب این ابزار کافیه در خط فرمان دستور زیر رو وارد کنیم :
MrPython@debian:~$ sudo apt install cutycapt
اما میریم سراغ طرز استفاده ازش . این ابزار دوتا پارامتر خیلی مهم داره یکی url که آدرس سایتی که میخوایم عکس بگیریم رو بهش میدیم و یکی هم out که مسیر و نام فایل خروجی رو بهش میدیم . دستور زیر از وبسایت google.com یه اسکرین شات میگیره و با نام google.png ذخیرش میکنه :
MrPython@debian:~$ cutycapt --url=google.com --out=google.png
2 - ابزار wkhtmltopdf
ابزار wkhtmltopdf یه ابزار کاربردی هستش که میتونه از یه وبسایت برای ما اسکرین شات بگیره و به صورت تصویر یا فایل پی دی اف ذخیره کنه .
برای نصب این ابزار از دستور زیر استفاده میکنیم :
MrPython@debian:~$ sudo apt install wkhtmltopdf
بعد از نصب ابزار میریم سراغ کار کشیدن ازش . وقتی نصبش کنین در واقع دوتا ابزار روی لینوکستون نصب میشه . یکی wkhtmltopdf که خروجی پی دی اف میگیره و دیگری wkhtmltoimage که خروجی تصویری میگیره .
طرز کارش خیلی سادس . با دستور زیر ما یه اسکرین شات از گوگل میگیریم و در فایل google.pdf با فرمت پی دی اف ذخیره میکنیم .
MrPython@debian:~$ wkhtmltopdf google.com google.pdf
حالا با دستور wkhtmltoimage هم میتونیم خروجی تصویری بگیریم . مثال زیر :
MrPython@debian:~$ wkhtmltoimage google.com google.png
خب این دوتا ابزارای خوبی هستن . حالا که طرز کارشو یاد گرفتیم میتونیم باهاش یه اسکریپت بش بنویسیم که یه کار باحال بکنه . فرض کنید شما یه لیست بلندی از دامین های مختلف دارین . میخواین همشو ببینین صفحه اولشون چه شکلیه . خب این کار زمانبره باید تک تک اینارو توی مرورگر باز کنین و ببینین . یه اسکریپت مینویسیم الان که یه لیست دامین بهش میدیم خودش تک تک عکس میگیره ازشون وذخیره میکنه . این اسکریپت رو با بش اسکریپت نوشتم .
سورس :
#!/bin/bash #Author : Hossein Ahmadi read -p "Url List File : " file while read url do if [ $url != "" ] then cutycapt --url=$url --out=./$url.png result=$(file $url.png) if [ "$result" == "$url.png: PNG image data, 800 x 600, 8-bit/color RGBA, non-interlaced" ] then echo "$url -> [ERROR]"; rm "$url.png" else echo "$url -> [OK]"; fi fi done < $file
خب سورس زیر رو بنویسید داخل یه فایل و با یه اسمی ذخیرش کنید . من اسمشو میزارم siteshow.sh . بعد برای تبدیل اسکریپت به فایل اجرایی دستور زیر رو وارد میکنیم :
MrPython@debian:~$ chmod +x siteshow.sh
به جای siteshow.sh شما اون اسمی که ذخیره کردین رو وارد کنین .
حالا برای اجرا کردنش کافیه دستور زیر رو وارد کنیم :
MrPython@debian:~$ ./siteshow.sh
بازم اینجا دوباره به جای siteshow.sh اسمی که خودتون ذخیره کردین بزنین . بعد که اسکریپت باز شد از شما فایل دامین ها رو میخواد . مثلا یه فایل من درست میکنم اینا رو مینویسم داخلش :
google.com bing.com yahoo.com blog.ir mrpython.blog.ir hack.chat telegram.org instagram.com
حالا مثلا با اسم list.txt ذخیره میکنم . اونجا که اسکریپت این فایل رو میخواد اسمشو وارد میکنم مثلا list.txt بعد دیگه شروع میکنه ازشون اسکرین شات بگیره و ذخیره کنه .
یه کوچولو برگرفته از :
https://www.binarytides.com/take-webpage-screenshot-from-command-line-in-ubuntu-linux/
یا حق !