webdevqa.jp.net

#を含むURLでWget

http://www.somesite.com/restaurants.html#photo=22x00085のような [〜#〜] url [〜#〜] をダウンロードしようとしています。

一重引用符で囲んでいますが、ダウンロードするだけです http://www.somesite.com/restaurants.html これは正しいページではありません。

解決策はありますか?

11
user1289749

wgetは正常に機能しています。 RI構文 は、フラグメント#foo part –完全にクライアント側で解釈され、ドキュメント自体を取得するときに使用されません。

たとえば、HTMLページの場合、ブラウザは名前付きセクションまでスクロールダウンするか、場合によっては、特定の写真を表示するJavaScriptコードをトリガーします。

言い換えれば、wgetに関する限り、URIは

  • http://www.somesite.com/restaurants.html#photo=22x00085
  • http://www.somesite.com/restaurants.html

...同じページを指す/restaurants.html。残りを行うのはブラウザ次第です。オープニングrestaurants.html#photo=22x00085ブラウザで正常に動作するはずです。

20
user1686

適切なリンクにアクセスしないと、どちらであるかわかりませんが、2つのオプションしかありません。

  • ハッシュは実際には、要求されたドキュメントの名前の一部を形成します。この場合、次のようにエンコードできます。

    http://www.somesite.com/restaurants.html%23photo=22x00085

  • その他の場合、通常の状況では、http://www.somesite.com/restaurants.htmlおよびhttp://www.somesite.com/restaurants.html#photo=22x00085は同じページを指している必要があります。ハッシュの後の部分は、ページをロードした後にブラウザがスクロールする必要があることを単に示しています アンカー 。サーバーに送信されることすらありません。

    ただし、JavaScriptを使用して特定の写真をロードするためにハッシュが(ab)使用される可能性がありますis。 WgetはJavaScriptを解釈できないため、JavaScriptについて何もできません。

8
Dennis

それは画像のURLではありません。これは、スクリプトまたはその他のコードを使用して画像をフェッチするページのURLです。 JavaScriptをオフにしてページを読み込んでみてください。それがwgetがあなたのためにフェッチしているものです。

画像のURLを見つけるには、ブラウザからページにアクセスし、写真を右クリックしてみてください。 URLを含む画像に関する情報を表示するオプションがあるはずです。

それが機能しない場合は、画像がFlashまたはその他のクライアント側プログラムを介してロードされていることが原因である可能性があります。 FiddlerまたはWiresharkを使用して、ロードされているURLを監視できます。

画像を含むサイトの実際のURLをお知らせいただければ、画像がどのように読み込まれているかを判断するのに役立ちます。

0
Jeremy Stein