💻️
スクレイピングとサーバー実行のサンプルコード(Ruby)

RubyでスクレイピングとWebサーバーを開発する手順を書いていきます。

開発の手順

環境構築

# パッケージマネージャーのインストール
$ gem install bundler

# プロジェクトの作成
$ mkdir scraping_server
$ cd scraping_server
$ bundler init

# パッケージの追加
$ bundle add sinatra mechanize

インストールしている外部パッケージは以下のものです。

Webサーバーの起動

まず、main.rb を以下の内容で作成します。

require "sinatra"

set :port, 3000

get "/" do
  "test"
end

その後、以下コマンドを実行して http://localhost:3000 にブラウザでアクセスすると、”test” の文字が表示されます。

$ ruby main.rb これで、Webサーバーの起動ができました。

スクレイピングで取得した情報を表示する main.rb に以下の実装を追加します。

require "sinatra"
# パッケージを追加
require 'mechanize'

# 関数を追加
def scraping
  agent = Mechanize.new
  page = agent.get('https://en.wikipedia.org/wiki/List_of_programming_languages')
  page.search('.div-col li').map do |el|
    el.inner_text
  end
end

set :port, 3000

get "/" do
# 追加した関数を呼び出す
scraping.to_json
end

追加実装の後、 $ ruby main.rb を再実行して http://localhost:3000 にアクセスすると、 Wikipediaのページから取得したプログラミング言語一覧の文字が表示されるようになります。