1. پایتون
  2. آرشیو کامل سایت با پایتون در وب آرشیو

آرشیو کامل سایت با پایتون در وب آرشیو

آرشیو کامل سایت با پایتون در وب آرشیو

دلایل زیادی وجود داره که ما بخوایم صفحات یک سایت رو آرشیو کنیم، یکی از این دلایل مقایسه محتوا و ظاهر قدیمی سایت با محتوا و ظاهر جدید سایت هست. و در بعضی موارد میتونیم جلوی سئو منفی که روی سایتمون پیاده میشه رو هم بگیریم ?.

برای این کار از سایت 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)

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

Fill out this field
Fill out this field
لطفاً یک نشانی ایمیل معتبر بنویسید.
You need to agree with the terms to proceed

دسته‌ها

فهرست