演習課題「Rubyで、Webページから指定の要素を取り出す」
右側の環境で、ホームディレクトリにfetch.rbを用意してあり、Rubyで「ぱいじょ」のトップページを読み込んで出力するコードが記述してあります。
このページで、divタグに以下のclass属性を持った要素を出力するよう、コードを修正してください。
```
p-paijo__old-backnumber
```
採点して、すべてのジャッジに正解すれば演習課題クリアです!
演習課題「Rubyで、Webページの要素をまとめて取り出す」
右側の環境で、ホームディレクトリにfetch.rbを用意してあり、Rubyで「ぱいじょ」のトップページから以下のclass属性を持った要素を出力するコードが記述されています。
```
p-paijo__link-box__thumbnail
```
ここから、画像のアドレスをすべて取り出すようコードを修正してください。
採点して、すべてのジャッジに正解すれば演習課題クリアです!
#06:HTMLを取得しよう - Ruby実践編
Rubyを使って、実際のWebページの取り込みにチャレンジします。「ぱいじょ」のトップページからバックナンバーのリンクを取得しましょう。
Webページのアドレス
- https://paiza.jp/paijo
指定ページを読み込むrequire 'open-uri'
uri = 'https://paiza.jp/paijo'
html = open(uri)
puts html.read
プログラムを実行する$ ruby getPaijo.rb
require 'open-uri'
require 'nokogiri'
uri = 'https://paiza.jp/paijo'
html = open(uri)
# puts html.read
doc = Nokogiri::HTML(html)
puts doc.title
require 'open-uri'
require 'nokogiri'
url = 'https://paiza.jp/paijo'
html = open(url)
# puts html.read
doc = Nokogiri::HTML(html)
# puts doc.title
doc.css('.p-paijo__backnumber-list--older').each do |element|
puts element
end
doc.css('.p-paijo__backnumber-list--older').css('a').each do |element|
puts element['href']
end
- RubyでWeb上からファイルをダウンロードする:open-uri | UX MILK
https://uxmilk.jp/22830
- HTMLの簡単な解析 (Nokogiri, ruby) - Qoosky
https://www.qoosky.io/techs/24752f45e3
- library open-uri (Ruby 2.6.0)
https://docs.ruby-lang.org/ja/latest/library/open=2duri.html
- Nokogiri
https://nokogiri.org/
- Ruby製の構文解析ツール、Nokogiriの使い方 with Xpath - プログラマでありたい
https://blog.takuros.net/entry/2014/04/15/070434
- Webスクレイピングの注意事項一覧 - Qiita
https://qiita.com/nezuq/items/c5e827e1827e7cb29011
- Webスクレイピングのノウハウを公開します | 東北ギーク
http://tech.respect-pal.jp/web-scraping/
- クローリングとWebスクレイピングに関わる法的妥当性問題に関するメモ | Accel Brain; Media
https://media.accel-brain.com/librahack/