簡単!たった1行のコードでWebページを取得するPerlスクリプト

コマンド1発で、ヤフーのトップページを取得する!

Perlを使うと、たった1行のコード(というかコマンド)でウェブページのHTMLを取得できます。

しかも、LinuxでもWIndowsでも全く同じコマンドで動作します。

Linux系の場合
$ perl -MLWP::Simple -e  " print get 'http://yahoo.co.jp' "


Windowsの場合(コマンドプロンプトで下記を入力)
> perl -MLWP::Simple -e  " print get 'http://yahoo.co.jp' "


実行結果
Wide character in print at -e line 1.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 
Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="content-script-type" content="text/javascript">
<meta name="description" content="日本最大級のポータルサイト。
検索、オークション、ニュース、メール、コミュニティ、ショッピング、など80以上のサービスを展開。
あなたの生活をより豊かにする「ライフ・エンジン」を目指していきます。">
<title>Yahoo! JAPAN</title>
<base href="http://www.yahoo.co.jp/_ylh=X3oDMTB2OHNyYWxqBF9TAzIwNzkxODE5OTkEdGlkA
zEzBHRtcGwDdGFibGU-/">
<style type="text/css">
(以下省略)

取得したHTMLをファイルとして保存したい場合は、下記のようにします。
こうすると、結果を画面に表示する代わりにファイルに保存できます。


perl -MLWP::Simple -e  " print get 'http://yahoo.co.jp'" > yahoo.html
ちなみに">"記号のことを「リダイレクト」といいます。

Perlって素晴らしい!!



【補足1】
LWP::Simpleモジュールが必要です。
上記のget関数は、Perlの標準関数ではなくてLWP::Simpleというモジュールが提供する関数です。
インストール方法は割愛しますが、よく使われるモジュールなのでレンタルサーバなどでは初めから入ってることが多いです。
(Xreaにはインストール済みでした。)

【補足2】
出力結果の1行目に警告が出ちゃってますが、多めに見てあげてください。。。
カテゴリ: