دلایل زیادی وجود داره که ما بخوایم صفحات یک سایت رو آرشیو کنیم، یکی از این دلایل مقایسه محتوا و ظاهر قدیمی سایت با محتوا و ظاهر جدید سایت هست. و در بعضی موارد میتونیم جلوی سئو منفی که روی سایتمون پیاده میشه رو هم بگیریم ?.
برای این کار از سایت web.archive.org که یکی از سایت های بزرگ توی این زمینه هست و تا الان بیش از 689 میلیارد صفحه رو ذخیره کرده استفاده میکنیم. شما هم میتونید با وارد کردن آدرس سایت مورد نظرتون ظاهر قدیمی و جدیدش رو بررسی کنید.
اگر نیاز به ذخیره چند صفحه از سایتتون داشته باشید این کار به صورت دستی قابل انجام. اما زمانی که نیاز داشته باشیم کل آدرس های یک سایت رو آرشیو کنیم زمان زیادی از ما میگیره و به صورت دستی زمانگیر و سخت هست. برای حل این مشکل باید از پایتون جان و کتابخانههای waybackpy و advertools وpandas کمک بگیریم.
در قدم اول نیاز به نصب پایتون دارید که میتونید با آموزشش برسید.
بعد از نصب پایتون در ویندوز نیاز داریم پکیج کتابخانه ها رو اضافه کنیم که با دستور زیر انجام میشه
pip install advertools pip install waybackpy pip install pandas
توی این مرحله با استفاده از سایت مپ و کتابخانه advertools و pandas تمامی URL های سایت رو استخراج میکنیم :
import advertools as adv df = adv.sitemap_to_df("https://amirebtekar.ir/sitemap_index.xml") df
نتیجه :
شرایط ثبت آدرس سایت در وب آرشیو
- URL باید با کد وضعیت HTTP 200 برگردونه
- باید دلیلی برای آرشیو شدن داشته باشه (مثلا صفحه لاگین خالی دلیلی برای ثبت کردنش نیست)
از اونجایی که سایت خودم یکدونه url بیشتر نداشت، روی یک سایت تستی دیگه که ادرس های بیشتر داشته ادامه میدم تا صفحاتش رو ذخیره کنیم !
در این مرحله کد زیر رو اجرا میکنیم و منتظر میشم که صفحات ما ذخیره بشه.
import waybackpy for i in df['loc']: url = i user_agent = "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Mobile Safari/537.36" #determined the user-agent. wayback = waybackpy.Url(url, user_agent) archive = wayback.save() print(archive.archive_url)
و نتیجه به شکل زیر میشه و url هایی که ساخته شده برای ما نمایش داده میشه :
نمونه صفحه ذخیره شده:
https://web.archive.org/web/20220604093434/https://legrandcosmetics.com/sellers/sellers-esfahan
سورس کامل:
import waybackpy import advertools as adv df = adv.sitemap_to_df("https://legrandcosmetics.com/site/sitemap") df for i in df['loc']: url = i user_agent = "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Mobile Safari/537.36" #determined the user-agent. wayback = waybackpy.Url(url, user_agent) archive = wayback.save() print(archive.archive_url)