https://teratail.com/questions/188793
こちらの質問の続きですがキーワードを外部のファイル(例えばkeyword.txt)を読み込んでその入っているキーワードに対して検索結果を返したく質問致します
質問したい点が2箇所ございまして
先に今のコードを乗せます
CSV.open('math.csv', 'w') do |rank| rank << ["Keyword","Rank","Title","URL"] end keyword = "react" #ここに引数に.txtファイルで指定したものが入ってくるようにする result = GoogleSearch.new.scraping(keyword) result.each_with_index do |value, i| puts "----------------------------------------------------------------------------------------------------" puts "Keyword : #{keyword}" puts "Rank : #{i+1}" puts "URL : #{value[:url]}" puts "Title : #{value[:title]}" puts "----------------------------------------------------------------------------------------------------" # あとで使います CSV.open('math.csv', 'a') do |rank| rank << ["#{keyword}","#{i+1}","#{value[:title]}","#{value[:url]}"] end end
1、外部のファイルから読み込んだキーワードを変数keywordに入れたい
2。複数のキーワードがあった場合にそれを順番に処理してcsvファイルに結果を格納して欲しい。
この2点を実装したく知見のある方いらっしゃいましたらご意見など頂けますと幸いです。
参考記事
https://qiita.com/mogulla3/items/fbc2a46478872bebbc47
このあたりの記事をみて参考にはしています
参考記事のページで情報は十分だと思いますが、何が分かりませんか?
ありがとうございます。
キーワードの読み込みはできているんですがそのキーワードをスクレイピングの検索ワードに応用できないのでその方法が知れたらと思いまして質問しております
```
CSV.open('math.csv', 'w') do |rank|
rank << ["Keyword","Rank","Title","URL"]
end
keyword = File.open('keyword.txt') do |file|
file.each_line do |line|
puts line
end
end
result = GoogleSearch.new.scraping(keyword)
result.each_with_index do |value, i|
puts "----------------------------------------------------------------------------------------------------"
puts "Keyword : #{keyword}"
puts "Rank : #{i+1}"
puts "URL : #{value[:url]}"
puts "Title : #{value[:title]}"
puts "----------------------------------------------------------------------------------------------------"
# あとで使います
CSV.open('math.csv', 'a') do |rank|
rank << ["#{keyword}","#{i+1}","#{value[:title]}","#{value[:url]}"]
end
end
```
現状のコードはこちらになります情報が少なく大変申し訳ないです
プログラムはコメント欄じゃなくて質問文に書いてください。
上記コードだと、line が読み込んだデータです。
回答1件
あなたの回答
tips
プレビュー