1

私は通常、WGET を使用して Web ページから 1 つまたは 2 つの画像をダウンロードします。コマンド プロンプトから次のように実行しますwget 'webpage-url' -P 'directory to where I wanna save it'。Perl と Python で自動化するにはどうすればよいでしょうか。それは、コマンドプロンプトでコマンドを入力しているかのようにシミュレートできるコマンドは何ですか? Python には、subprocess や os など、よく似たモジュールがたくさんあるので、かなり混乱しています。

4

3 に答える 3

8

Perl では、最も簡単な方法は次を使用することLWP::Simpleです。

use LWP::Simple qw(getstore);
getstore('www.example.com', '/path/to/saved/file.ext');
于 2012-08-04T11:15:46.650 に答える
4
import subprocess
subprocess.call(["wget", "www.example.com", "-P", "/dir/to/save"])

URL を読み取って応答を処理する場合:

import urllib2
response = urllib2.urlopen('http://example.com/')
html = response.read()

SOでここで読むことができるhtmlから画像を抽出する方法

于 2012-08-04T10:45:22.827 に答える
2

Perl でも、 を使用できますqx(yourcommandhere)。これはプログラムの外部呼び出しです。

したがって、あなたの例では: qx(wget 'webpage-url' -P '/home/myWebPages/'). これで十分です。

しかし、s0me0neが言ったように、使用するLWP::Simple方が良い.

ファイルに URL のリストがある場合は、次のコードを使用できます。

my $fh; # filehandler

open $fh, "<", "fileWithUrls.txt" or die "can't find file with urls!";

my @urls = <$fh>; # read all urls, one in each raw of file

my $wget = '/path/to/wget.exe';    

for my $url(@urls) {
    qx($wget $url '/home/myWebPages/');
}
于 2012-08-04T12:17:41.393 に答える