どのように私はプログラム的にこのページ上の画像を得ることができますか?

StackOverflow https://stackoverflow.com/questions/1372750

  •  21-09-2019
  •  | 
  •  

他のヒント

を使用する代わりに、POSTのGET。彼らは、バックグラウンドでのCGIプログラムのための完全に異なるです。

Ravadreに続き、

wget -p http://www.fourmilab.ch/cgi-bin/Earth 

は、タグが含まれているXHTMLファイルをダウンロードします。

私はすべてが、imgタグを削除するにはXHTMLを編集し、脱出、別のwget -pコマンドを含むbashスクリプトにそれを回しましたか?そして=

私はこれを実行すると、私は14KBのファイルを持っているI名前を変更したearth.jpg

そうでもないのプログラムでの、私はそれをしなかったが、私はそれを行うことができると思います。

の方法

しかし@somedeveloperは、(それが時間に依存するので)、DI値が変更されるように

Guysは、ここで私は最終的にやったことです。私がいた(そして今でも思います)私がFirefoxを経由して閲覧したときに取得。同じユーザーエクスペリエンスを与えて... ...より良い方法のための第1のwget自体に画像を取得するものを期待して、このソリューションと完全に満足していません

#!/bin/bash

tmpf=/tmp/delme.jpeg
base=http://www.fourmilab.ch
liveurl=$(wget -O - $base/cgi-bin/Earth?opt=-p 2>/dev/null | perl -0777 -nle 'if(m@<img \s+ src \s* = \s* "(/cgi-bin/Earth\?di= .*? )" @gsix) { print "$1\n" }' )
wget -O $tmpf $base/$liveurl &>/dev/null

あなたがダウンロードしていることは、全体のHTMLページではなく画像です。あまりにも画像や他の要素をダウンロードするには、--page-requisites(そしておそらく--convert-links)パラメータ(複数可)を使用する必要があります。 /cgi-bin/下のURLへのアクセスを許可していません残念ながら、のrobots.txtののため、Wgetは/cgi-bin/の下に配置された画像をダウンロードしないであろう。私の知る限り、ロボットプロトコルを無効にするパラメータはありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top