Web系自社開発への転職に強いRUNTEQ無料キャリア相談会はこちら
▶https://runteq.jp/r/w60Lsi0k
Rubyを使用して初心者でもできる
スクレイピングの実装方法とコツを解説!
初学者の方もぜひ挑戦してみてください。
【スクレイピングをするのに使用したコードはコチラ!】
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'csv' | |
require 'mechanize' | |
agent = Mechanize.new | |
page = agent.get("ここにURLを入れます") | |
elements = page.search('.col-2 a') | |
urls = [] | |
# aタグをすべて抽出し詳細ページのURLを抽出 | |
elements.each do |ele| | |
urls << ele.get_attribute(:href) | |
end | |
data = [] | |
# 抽出した詳細ページURLにアクセスし、データ取得 | |
urls.each do |url| | |
page = agent.get(url) | |
p "ISBN: #{page.at('.isbn').inner_text}" | |
data << [ | |
page.at('.title').inner_text, | |
page.at('.author').inner_text, | |
page.at('.price').inner_text, | |
page.at('.sales_date').inner_text, | |
"'" + page.at('.isbn').inner_text, | |
page.at('.publisher_name').inner_text | |
] | |
sleep 1000 | |
end | |
# 取得したデータをCSVに展開 | |
bom = %w[EF BB BF].map { |e| e.hex.chr }.join | |
csv_file = CSV.generate(bom) do |csv| | |
data.each do |datum| | |
csv << datum | |
end | |
end | |
File.open('./scraped.csv','w', force_quotes: true) do |file| | |
file.write(csv_file.force_encoding('UTF-8')) | |
end |
【目次】
0:00 本日のテーマ
0:27 Rubyでスクレイピング!
7:41 本日のまとめ
【RUNTEQ】
Webエンジニア養成プログラミングスクール
・自走力を鍛えるオリジナルカリキュラム
・ユーザー目線のポートフォリオ開発
・継続学習ができるコミュニティ
本気でWebエンジニアを目指す方をサポートできる体制が整っております。
【出演者】
菊本久寿( Twitter:https://twitter.com/hisaju01 )
株式会社スタートアップテクノロジー代表取締役。
ngi group(現在はユナイテッド)、ポケットコンシェルジュなど数々のCTO経験を経て、2014年独立。現在はWebエンジニア就職に特化したプログラミングスクール「RUNTEQ(ランテック)」の運営と月額制アジャイル受託開発を並行で行うことで、数多くのWebエンジニア、CTOを育成・輩出している。
#RUNTEQ
#Ruby
#スクレイピング
#初心者向け
#ランテック
#エンジニア転職チャンネル
#エンジニア
#エンジニア未経験
#エンジニア転職
#転職
#プログラミング
#プログラミング初心者
#プログラミングスクール
#菊本久寿
コメント