Używam wget --mirror --html-extension --convert-links
do tworzenia kopii lustrzanej witryny, ale kończę na wielu nazwach plików w tym formacie post.php?id=#.html
. Gdy próbuję wyświetlić je w przeglądarce, kończy się to niepowodzeniem, ponieważ przeglądarka ignoruje ciąg zapytania podczas ładowania pliku. Czy jest jakiś sposób na zastąpienie ?
znaku w nazwach plików czymś innym?
Odpowiedź --restrict-file-names=windows
działała poprawnie. W połączeniu z flagami --convert-links
i --adjust-extension
/ -E
(poprzednio nazwanymi --html-extension
, które również działają, ale są przestarzałe) tworzy lustro, które zachowuje się zgodnie z oczekiwaniami.
wget --mirror --adjust-extension --convert-links --restrict-file-names=windows http://www.example
http://site.com/article.cgi?25
zostanie zapisany, jakarticle.cgi?25.html
patrz sekcja 2.7 na gnu.org/software/wget/manual/wget.html#HTTP-Opcjewget nie ma opcji modyfikacji zapisanej nazwy. Co prawdopodobnie będziesz musiał zrobić, to utworzyć skrypt, który przejdzie i zastąpi? z _ lub czymś podobnym. Sam Wget nie może tego zrobić.
źródło