• 締切済み

wgetのコマンドでは不可能?

はじめまして、こんにちは。 wgetでpdfをダウンロードしようと試しているのですが、上手くいかず困っている為質問させて頂きます。「ttp://www.***.jp」というサイトの中の「/yuho/」より下のディレクトリにあるpdfファイルをダウンロードしようとしています。 ttp://www.***.jp ↓ ttp://www.***.jp/list/s1000.htm (s1000はs2000,s3000,,,s9000まである) ↓ ttp://www.***.jp/code/1301.htm (1301は1000,1001,,,9999まである) ↓ ttp://www.***.jp/yuho/1301.htm (1301は1000,1001,,,9999まである) ↓ ttp://www.***.jp/mark/20141114/S1003FL5.htm (20141114とS1003FL5はそれぞれ変動、このページにpdfファイルへのリンクがある) 上記の様にリンクが繋がっていて、 ディレクトリ「list」「code」「yuho」「mark」を取得対象とすれば良いのだろうと考え、wgetで -I オプションでディレクトリを list/,code/,yuho/,mark/と指定してみたのですが、上手く働きませんでした。 これはやはり階層構造になっていない為でしょうか? 余計なページのpdfをダウンロードせず、ディレクトリ「yuho」以下の階層にあるpdfをダウンロードする場合はどのようなwgetのコードを書けば良いのでしょうか? wgetでは不可能なのでしょうか? Irvineというダウンローダーで ttp://www.***.jp/yuho/1301.htm の「1301」の部分を1000から9999にして、ダウンロードする拡張子をpdfに指定、階層を2にして実行しましたがこれも失敗でした。 現在も色々調べておりますが、知恵が足りず大変困っております。 こういった分野に造詣が深い方がいらっしゃいましたら、どうかご教授下さい。 宜しくお願い致します。

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

なにがどのように「うまくいかない」のでしょうか? > -I オプションでディレクトリを list/,code/,yuho/,mark/と指定してみた 再帰オプション -r と最大追跡深度を指定する -l は指定していますか? > 階層構造になっていない為でしょうか? http では、FTPのように「ファイル一覧」を取得することはできないので、 起点となるhtml→解析してリンクを抽出→抽出したリンクをダウンロード→ダウンロードしたファイルを解析してリンクを抽出→ .... という動きになります。--levelで指定するのは、この「深さ」です。 物理的には同階層でも、2度辿る必要がある場合は深さ2です。 質問にあった例では 5以上が必要です。 (↓の数 + mark/20141114/S1003FL5.htmからpdfを抽出→ダウンロード) 実際には深さ5に見えて実際には(自動リロード等が使われていて)もっと深いかもしれません。 また、そのようなデータ集では、ダウンロード制限をかけていることがあります。 (User-Agentで判断して、ロボットや自動ダウンロードツールを排除する、等) その場合は、wgetでは無理かもしれません。 マニュアル http://www.gnu.org/software/wget/manual/wget.html 日本語訳 http://quruli.ivory.ne.jp/document/wget_1.10/wget-ja.html

関連するQ&A

  • wgetのヴァージョン?

    最近連続でお世話になっております(汗。。) 二以上のURLを指定したファイルを指定しwgetで取得しています。 url.csvには以下のようにurlが改行で記述されています。 ttp://aaa.jp/ ttp://bbb.jp/ ttp://ccc.jp/ 以下のコマンドで成功します。 オプションは(index.htmlを省いたhtmlファイルだけを取得) wget -nc -r -A html -R index.html -i url.csv しかし、違うそれもスペックが高い(cpu、メモリ、しかもデュアルコア)サーバで実行すると1件目はオプション通りにファイル群を取得しますが、2件目以降のurlはindex.htmlだけを取得してしまいます。 ちなみに、wgetのヴァージョンは成功するほうが1.8.2で失敗するほうが1.10.2です(後者のほうがヴァージョンも高いですよね) 何かお気づきの方がいればご教授下さい。

  • wgetで絶対リンクのファイルをダウンロード

    wget -r http://test~~.jp/test.html 上記のコマンドを使ってリンク先ファイルを再帰的に回収しているのですが リンク先が相対パスのファイルはダウンロードできるのですが 絶対パスの場合、ダウンロードできません。 絶対パスのリンクをダウンロードする方法を教えて下さい。 なお、絶対パスのリンクとは、以下のようなリンクのことです。 <a href="http://test~~.jp/test1/test1.gif">~ wgetに詳しい方がいましたら教えて下さい。宜しくお願い致します。

  • wgetで指定したファイルだけダウンロードするには?

    wgetのファイル収集ツールで 指定したファイルだけをダウンロードする方法はどうしたら良いのでしょうか? イメージとしてはこのサイトの http://shupla.w-jp.net/items/wget.html 『3.使い方』 を応用したいのですが、 余計なファイル、ディレクトまでダウンロードしていまい上手くいかないのです。 例えばテキストファイルに http://www.yahoo.co.jp/index.html http://k.yimg.jp/images/top/sp/logo.gif http://k.yimg.jp/images/sh/recommend/84_84_0053.gif こんな感じで書いて、この“3ファイルだけ”を差分ファイルとしてダウンロードしたい場合です。 ちなみに仕様してるOSはWindowsXPです。 ご教示いただきたくお願いいたします。

  • wgetで対象ページをミラーリング

    wgetを用いて対象ページを保存しようとしています. 具体的には, (1)指定URL以外のソースは入手しない (2)画像ファイルもローカルに保存 (3)画像ファイルへのリンクは相対リンク化 を満たす方法を探しています. イメージとしては,IEを使って[ファイル]→[名前を付けて保存] の操作をし,Webページをダウンロードした時と同じ方法を求めています. 色々と試してみましたが,該当する方法を見つけられませんでした. どなたか,よろしくお願いいたします.

  • 離職率と平均勤続年数について

    ​http://www.nenshu.jp/code/8173.htm​ ​http://www.nenshu.jp/mark/20080624/S0000K1D.htm​ ↑ 参考資料 例えばJoshinは3年以内の離職率は50%程度(四季報)だそうですが、平均勤続年数は17年程度となっておりますがこれは一旦定着した社員はなかなかやめないという解釈でよろしいのでしょうか? 以上よろしくお願いします。

  • wgetで指定したURLの背景画像等の取得方法

    wgetを使ってファイルの階層構造を保ったまま、 指定したURLの関連ファイルだけ保存したいのですが CSSで指定された背景画像、JSでリンクされてるロールオーバーなどの画像を取得するには コマンドはどう記述したら良いのでしょうか? 保存したいのは、あくまで指定したURLを正常に表示する為に使用されてる関連ファイルだけです。 ちなみにFLASH等で外部ファイル化してるjsや画像も取得できる方法があれば教えていただけますでしょうか。

  • wgetの後

    只今、linuxを勉強中です。わからないところがあるのでおしえてください。 postgreSQLのインストールを実施するため [root@localhost root]#wget ftp://ftp.jp.postgresql.org/source/v8.2.1/ を実行ダウンロードしたのはいいのですが保存先のディレクトリが わかりません(つまりpostgresql-8.2.1.tar.gz ) 上記作業後 [root@localhost root]# ls Desktop ifcfg-eth0 index.html.1 install.log passwd anaconda-ks.cfg index.html install.log.syslog smbpasswd ls すると index.html となっているようですが 本来ならソースファイル、postgresql-8.2.1.tar.gz ではないのですか?? 次の作業 #cp postgresql-8.2.1.tar.gz /usr/local/pgsql に移れないのです。 いまいちよく理解できてないので教えてください。

  • wget でのファイル取得

    FTPサーバから、ファイルを取ってこなければならなくなったのですが、サーバ上のファイル名に「日本語」がついています。 Windows の FFFTP では、普通に日本語のファイル名が表示されています。サーバはWindowsのようです。 [xxxxx@xxxxxx Aug]$ ftp ftp.foo.co.jp Connected to ftp.foo.co.jp. 220 Microsoft FTP Service <SNIP!> Name (ftp.foo.co.jp:username): username 331 Password required for username. Password: 230 User username logged in. Remote system type is Windows_NT. ftp> というような表示です。 で、ダウンロードするファイルが多い(10GBのオーダー)なので、wgetで一気に取得しようとしたのですが、うまく取得できません。 ダウンロードするホストのOSはCentOSで日本語が表示されている(LANG=ja_JP.UTF-8)状態です。 ここで wget --no-passive-ftp -nH -np -r ftp://username:password@ftp.foo.co.jp/ と実行すると、index.htmlが生成され、ファイルはダウンロードされません。ファイルはそのまま見ると文字化けするのですが、lvでUTF8に変換するとディレクトリ名などが正常に確認できます。 なぜ、ファイルがダウンロードされないのでしょうか?

  • IE5 for Macのように、リンクを先一括保存

    マイクロソフト・インターネットエクスプローラー5 for Macintoshは、リンク階層数を指定してリンク先を含む複数階層のページを一つのファイルとして一括ダウンロードして保存することができました。URLが同じグループに無い(遠くへリンクしている)場合にはダウンロードのリストから外す、など細かい設定もできて、便利に使っておりました。 今のブラウザで、リンク先を含めて一括ダウンロードする、似たような機能を持ったものがありましたら教えて下さい。

  • pdfを開きたい

    初心者どころかphpを触れません。 おかしな質問をしているのかもしれませんが、よろしくお願いします。 index.html(php) にリンクしてあるpdfファイル list.pdf を開きたいです。 index.html と同じ階層のページへのリンクは <a href="erea.php?page=adress.html">アドレス</a> という具合になってるので同じ階層のpdfへリンクを貼りました。 <a href="erea.php?page=list.pdf">リストpdf</a> すると、 Parse error: parse error, unexpected T_STRING ・・・・・・・・・・・・・・・・・list.pdf on line 267 とエラーが出ました。 pdfファイルを開くにはどうすればよろしいでしょうか? よろしくお願いします。

    • 締切済み
    • PHP