Rubyの基礎知識を活かして、実際のアプリケーションを構築する方法を解説します。この章では、実用的なプログラムの開発例として、「ウェブスクレイピングスクリプト」と「テキストファイル操作」の2つを取り上げます。どちらも初学者でも挑戦しやすく、Rubyの活用を実感できる内容です。
ウェブスクレイピングとは、ウェブページから情報を取得する技術です。例えば、天気情報や商品価格のデータ収集など、Rubyのスクリプトを使って簡単に行うことができます。Rubyにはウェブスクレイピングを効率的に行うための「Nokogiri」というライブラリがあり、これを使ってHTMLやXMLの解析ができます。
まず、Nokogiriを使うためにインストールを行います。ターミナルを開いて、以下のコマンドを実行してください。
gem install nokogiri
では、簡単なウェブスクレイピングの例として、架空のニュースサイトから記事タイトルを取得するスクリプトを作成してみましょう。
以下は、ニュースサイトのHTML構造の例です。この例では、記事タイトルは<h2 class="title">
タグ内に入っているとします。
<html>
<body>
<div class="news">
<h2 class="title">ニュースタイトル1</h2>
<p>ニュースの内容1</p>
</div>
<div class="news">
<h2 class="title">ニュースタイトル2</h2>
<p>ニュースの内容2</p>
</div>
</body>
</html>
この構造からニュースタイトルだけを抽出するスクリプトを作成します。
require 'nokogiri'
require 'open-uri'
url = 'https://example.com/news'
html = URI.open(url)
doc = Nokogiri::HTML(html)
doc.css('h2.title').each do |title|
puts title.text
end
require 'nokogiri'
とrequire 'open-uri'
で、NokogiriとURLを開くためのopen-uriライブラリを読み込んでいます。URI.open(url)
で、指定したURLからHTMLを取得し、Nokogiri::HTML
メソッドで解析用のオブジェクトに変換します。doc.css('h2.title')
で、HTML内の<h2 class="title">
タグをすべて取得し、それぞれのtitle.text
を出力します。このスクリプトを実行すると、ページ内のニュースタイトルがコンソールに表示されます。
次に、Rubyを使ったテキストファイルの操作について解説します。Rubyでは、テキストファイルの読み込み・書き込みが簡単に行えるため、ログの保存やデータの加工などに利用されます。
Rubyでファイルを読み込むには、File.open
メソッドを使います。例として、sample.txt
というファイルの内容をすべて読み込み、出力するスクリプトを作成してみましょう。
File.open('sample.txt', 'r') do |file|
file.each_line do |line|
puts line
end
end
File.open('sample.txt', 'r')
で、sample.txt
ファイルを「読み込みモード(r
)」で開きます。file.each_line
でファイル内の各行を取得し、ブロック内でputs line
を使って出力しています。次に、ファイルへの書き込みを行う例です。新しい内容をoutput.txt
というファイルに書き込むスクリプトを見てみましょう。
File.open('output.txt', 'w') do |file|
file.puts "Rubyでファイル操作を学びましょう!"
file.puts "このファイルは自動生成されました。"
end
File.open('output.txt', 'w')
で、output.txt
ファイルを「書き込みモード(w
)」で開きます。ファイルが存在しない場合は新規作成され、既に存在する場合は内容が上書きされます。file.puts
で指定したテキストをファイルに書き込みます。既存のファイルに内容を追加するには、ファイルを「追記モード(a
)」で開きます。例として、先ほど作成したoutput.txt
に追加の行を加えます。
File.open('output.txt', 'a') do |file|
file.puts "追記された内容です。"
end
これで、output.txt
の末尾に「追記された内容です。」が加わります。
ここまで学んだ技術を組み合わせて、ウェブスクレイピングで取得したデータをファイルに保存するスクリプトを作成します。以下のスクリプトでは、ニュースサイトからタイトルを取得し、news_titles.txt
に保存します。
require 'nokogiri'
require 'open-uri'
url = 'https://example.com/news'
html = URI.open(url)
doc = Nokogiri::HTML(html)
File.open('news_titles.txt', 'w') do |file|
doc.css('h2.title').each do |title|
file.puts title.text
end
end
puts "ニュースタイトルがnews_titles.txtに保存されました。"
url
からHTMLを取得し、Nokogiriを使って解析しています。news_titles.txt
を「書き込みモード」で開き、doc.css('h2.title')
で取得した各タイトルをfile.puts
で書き込んでいます。Rubyを使って実践的なプログラムを作成する方法を学びました。ウェブスクレイピングではNokogiriライブラリを利用し、HTMLから特定の情報を抽出しました。また、テキストファイル操作では、ファイルの読み書きの方法を学び、実際にデータをファイルに保存するスクリプトを作成しました。
プログラミングを始めたいと思っているそこのあなた、独学よりもプログラミングスクールが断然おすすめです!理由は簡単、続けやすさです。
独学でプログラミングを続けるのは、実はかなりハードルが高いんです。データによると、なんと87.5%もの学習者が途中で挫折しているとか。一方、各プログラミングスクールが公表しているデータによると、受講生の約95%が最後までやり抜いているとのこと。数字を見れば一目瞭然、プログラミングスクールの方が圧倒的に続けやすいんです。
プログラミングスクールには有料と無料のタイプがありますが、その違いは次の通りです:
どちらが自分に合っているか、よく考えて選ぶのが大事です。
プログラミング初心者でも学びやすいと評判の『FREEKS』、その特徴は以下の通り:
なんと、月会費のみで全カリキュラムが受け放題!Java、PHP、HTML/CSS、JavaScriptなど、多彩なプログラミング言語が学べるんです。しかも、AIが質問に自動で答えてくれるシステムも導入済み。
カリキュラムを終了した後には、Freeks経由で未経験者でも取り組める副業案件の受注が可能。実務を通じてスキルを磨き、市場価値の高いエンジニアへの道が開けます。
独学で悩むくらいなら、まずはプログラミングスクールをチェックしてみるのもアリかもしれませんよ!
↓ ↓ こちらをクリック ↓ ↓