Rubyで画像収集を行う【1】検索条件の入力
はじめに
ウェブスクレイピングの勉強がてらRubyで画像を収集するプログラムを書いた。
が、数カ月立って、自分でも中身を忘れたので、備忘録として解読していく。
rubyのかなり基礎的な部分も一応触れる。
全体像としてはリクエストクエリをいじって特定の検索エンジンで検索、
帰ってきたHTMLから画像を抽出して保存する流れ。
注意事項
もともとの目的としては深層学習に用いるために一時保存、読ませたら削除だったので
著作権的にも問題ないはず。またサーバへのアクセス間隔はしっかり空けましょう。
【目次】
1:検索条件の入力 ←いまここ
2:検索結果の取得
3:画像の取得と保存
つづく
早速始めよう
必要なもの
- Rubyの環境
- ライブラリ
rubygenm
nokogiri
open-uri
cgi
kconv
正直ライブラリこんなに要らない気もするけど、require(インポートみたいなこと)に書いてあるので一応記載。
検索する条件を入力する
def in_keyword()
puts("") #改行
print "Input the Keyword for Search:" #検索文字列の入力を求める表示
$keyword = gets.chop#入力させる
$keyword = $keyword.toutf8 #文字コードの処理
if $keyword=="" then #入力が空なら
in_keyword(); #再度この関数を呼び出す
end
puts("") #改行
#検索結果のページ数など必要な情報を同様に入力させる
print "Start page:"
$start = gets.chop
puts("")
print "End page:"
$end = gets.chop
puts("")
#検索する文字列をURLエンコードする
$escaped_keyword = CGI.escape($keyword)
# 検索結果を開く
i_search($start,$end);
end
コメント
def in_keyword()
puts("") #改行
print "Input the Keyword for Search:" #検索文字列の入力を求める表示
$keyword = gets.chop#入力させる
$keyword = $keyword.toutf8 #文字コードの処理
if $keyword=="" then #入力が空なら
in_keyword(); #再度この関数を呼び出す
end
puts("") #改行
#検索結果のページ数など必要な情報を同様に入力させる
print "Start page:"
$start = gets.chop
puts("")
print "End page:"
$end = gets.chop
puts("")
#検索する文字列をURLエンコードする
$escaped_keyword = CGI.escape($keyword)
# 検索結果を開く
i_search($start,$end);
end
ドルマーク($)が頭につく変数はグローバル変数と思えばいいかと。
今回はいくつかの関数に分けて実行を確認しながら進めたので、
細かいことは気にせずガバガバのグローバル変数で作った。
次回は検索結果を開くi_search()の中身をやります
Author And Source
この問題について(Rubyで画像収集を行う【1】検索条件の入力), 我々は、より多くの情報をここで見つけました https://qiita.com/EigenPort_M/items/73376f8d3cbd0be5ba2c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .