お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-05-21 09:49:07

barapha
メンバ
登録日: 2009-05-02

ブログの html バックアップについて

検索すると特別にアプリケーションがある訳でなく、wget コマンドで行うと言うことのようです。
そこで
wget -r -e robots=off -p -np http:~.jp/ -b
のようにすると、記事が 500余に対し 1000 近いファイルが出力されます。

ブログではページが ?entry=, ?cat=, ?month=, ?day=, ?page= などがあります。
更に ?page=3&cat=2 といったようなページも存在するのですが、この二段階になったものは悉くエラー出力になります。

この「?付き」の出力をしたい場合はどのようにするとよいでしょうか?
或いは ?day=  ?entry= ?page= を除外指定することはできるでしょうか?

オフライン

 

#2 2010-05-21 13:33:16

hir0
メンバ
登録日: 2008-09-28

Re: ブログの html バックアップについて

内容を理解していないので違ったらすみません、単純な解糖としては
オプション
指定[-A]
拒否[-R]
これは拡張子だけでなくファイル名にも使えないでしょうか。
wget -m -p -L -R 'ファイル名' http://www~~~

正規表現も使えるので「?day=」などは「\?day\=」指定、除外したい?day=ってファイル名じゃなかったらゴメンなさい。
「=」の後に何か文字が続くのでしたら「\?day\=*」

$ sudo wget -m -p -L -R '\?entry\=*,\?cat\=*,\?month\=*,\?day\=*,\?page\=*' http://www~~~

オフライン

 

#3 2010-05-22 06:24:40

barapha
メンバ
登録日: 2009-05-02

Re: ブログの html バックアップについて

hir0 さん、ありがとうございます。
出力が index.html?month=201005 と言ったパターンなので、-R '\index.html?month\=* でトライしたところ、見事に成功しました。

ところが出力されたファイルをブラウザに表示させると、「xml パースエラー」が出てきます。 例えば、youtube の埋め込みタグや amazon などの表示で url 中に「=」が一個なら問題ないので、後続する「&」以降を削除するなどで対応しています。

しかし例えば、カテゴリーを選択するとたいがい数ページに亘るのですが、この時url が /?page=3&cid=2 (index.html?page=3&cid=2)となり、上記の問題同様エラー扱いになります。
これを解決する方策はありますでしょうか?

或いはブログ・サーバーの仕様ということでどうにもならないものなのでしょうか?

オフライン

 

Board footer

Powered by FluxBB