Saya menerapkan situs pengganti untuk klien tetapi mereka tidak ingin semua halaman lama mereka berakhir dengan 404-an. Mempertahankan struktur URL lama tidak mungkin karena itu mengerikan.
Jadi saya menulis penangan 404 yang harus mencari halaman lama yang diminta dan melakukan pengalihan permanen ke halaman baru. Masalahnya adalah, saya memerlukan daftar semua URL halaman lama.
Saya dapat melakukan ini secara manual, tetapi saya akan tertarik jika ada aplikasi yang akan memberi saya daftar relatif (misalnya: / halaman / jalur, bukan http: /.../ halaman / jalur) URL yang hanya diberi beranda halaman. Seperti laba-laba tetapi yang tidak peduli dengan konten selain menemukan halaman yang lebih dalam.
web-crawler
Oli
sumber
sumber
Jawaban:
Saya tidak bermaksud menjawab pertanyaan saya sendiri, tetapi saya hanya berpikir untuk menjalankan generator peta situs. Pertama saya menemukan http://www.xml-sitemaps.com memiliki output teks yang bagus. Sempurna untuk kebutuhan saya.
sumber
melakukan
wget -r -l0 www.oldsite.com
Maka hanya
find www.oldsite.com
akan mengungkapkan semua url, saya yakin.Atau, tayangkan saja halaman kustom yang tidak ditemukan itu di setiap permintaan 404! Yaitu jika seseorang menggunakan tautan yang salah, dia akan mendapatkan laman yang mengatakan bahwa laman itu tidak ditemukan, dan memberikan beberapa petunjuk tentang konten situs.
sumber
include
/require
/ etc. merakit halaman, ini tidak akan berfungsi.Berikut adalah daftar generator peta situs (yang jelas Anda bisa mendapatkan daftar URL dari situs): http://code.google.com/p/sitemap-generators/wiki/SitemapGenerators
sumber
Yang terbaik yang saya temukan adalah http://www.auditmypc.com/xml-sitemap.asp yang menggunakan Java, dan tidak memiliki batasan pada halaman, dan bahkan memungkinkan Anda mengekspor hasil sebagai daftar URL mentah.
Ini juga menggunakan sesi, jadi jika Anda menggunakan CMS, pastikan Anda keluar sebelum menjalankan perayapan.
sumber
Jadi, dalam dunia yang ideal, Anda akan memiliki spesifikasi untuk semua halaman di situs Anda. Anda juga akan memiliki infrastruktur pengujian yang dapat mencapai semua halaman Anda untuk mengujinya.
Anda mungkin tidak berada di dunia yang ideal. Mengapa tidak melakukan ini ...?
Buat pemetaan antara URL lama yang terkenal dan yang baru. Alihkan saat Anda melihat URL lama. Saya mungkin akan mempertimbangkan untuk menampilkan "laman ini telah dipindahkan, url barunya adalah XXX, Anda akan segera dialihkan".
Jika Anda tidak memiliki pemetaan, berikan pesan "maaf - halaman ini telah pindah. Berikut link ke halaman muka" dan alihkan jika Anda mau.
Catat semua pengalihan - terutama yang tanpa pemetaan. Seiring waktu, tambahkan pemetaan untuk halaman yang penting.
sumber
wget dari kotak linux mungkin juga merupakan pilihan yang baik karena ada sakelar untuk spider dan mengubah keluarannya.
EDIT: wget juga tersedia di Windows: http://gnuwin32.sourceforge.net/packages/wget.htm
sumber
Tulis laba-laba yang membaca di setiap html dari disk dan menampilkan setiap atribut "href" dari elemen "a" (dapat dilakukan dengan parser). Ingatlah link mana yang termasuk dalam halaman tertentu (ini adalah tugas umum untuk datastructre MultiMap). Setelah ini, Anda dapat menghasilkan file pemetaan yang bertindak sebagai input untuk 404 handler.
sumber
Saya akan melihat sejumlah alat pembuat peta situs online. Secara pribadi, saya telah menggunakan yang ini (berbasis java) di masa lalu, tetapi jika Anda melakukan pencarian google untuk "pembuat peta situs" saya yakin Anda akan menemukan banyak pilihan yang berbeda.
sumber