#wget
ログイン付きのページのソースコードや画像を一括でダウンロードする必要があり、模索した結果。
同様な問題をか開けた人がQiita上にもいろいろなところにもいたが、全く同じ方法が見つからなかったためストックではなくメモを作成した。
【Agenda】
- ログイン状態をクッキーに保存
- 必要なページのソースをwgetで一括ダウンロード
【Procedure】
クッキー保存
wget --keep-session-cookies --save-cookies=cookies.txt --post-data 'login_email=email-address2emailaddress.co.jp&login_passwd=passwordpassword' https://ten-ki.jp/login?1507809062
ここで必要なのはであればそれのname=""の部分
この場合は login_email
と login_passwd
を示す。
またそれぞれのイコール先に実際にインプットする値を。
これをコンソールで実行すると、cookies.txt
としたログイン状態を表すファイルが実行ディレクトリに保管される。
続いて、ダウンロード
wget -p -H -E -nH -k --load-cookies cookies.txt http://blahblahblahhhhh.jp/
wgetとその他諸々の呪文で指定のページ(今回はhttp://blahblahblahhhhh.jp/) をダウンロード
使用したコマンドオプションは
オプション | 説明(英語) | 説明(意訳) |
---|---|---|
-p (--page-requisites) | This option causes Wget to download all the files that are necessary to properly display a given HTML page. This includes such things as inlined images, sounds, and referenced stylesheets. | このページを表示する際に必要となる画像、音声ファイル、スタイルシートなどを同時にダウンロードする |
-H (--span-hosts) | Enable spanning across hosts when doing recursive retrieving. | 再帰的検索を行う時別のホストからのデータもダウンロードする |
-E (--adjust-extension) | If a file of type application/xhtml+xml or text/html is downloaded and the URL does not end with the regexp. [Hh][Tt][Mm][Ll]?, this option will cause the suffix .html to be appended to the local filename. | 拡張子をそのままにしてダウンロードする |
-nH (--no-host-directories) | Disable generation of host-prefixed directories. By default, invoking Wget with -r http://fly.srk.fer.hr/ will create a structure of directories beginning with fly.srk.fer.hr/. | ホスト名のディレクトリを新たに作成しない |
-k (--convert-links) | After the download is complete, convert the links in the document to make them suitable for local viewing. | ファイル内のリンクをローカルに適した形に書き換える |
--load-cookies file | Load cookies from file before the first HTTP retrieval. file is a textual file in the format originally used by Netscape's cookies.txt file. | 再帰的検索の前に指定したファイル名のテキストファイルからクッキーをロードする |
必要であれば再帰的ダウンロードの-r
も使用可能
以上です!