前提・実現したいこと
railsを使用し、スクレイピングを実装中です。
mechanizeを使用し指定のURLからlink部分を取得後、
DBに保存をしたいのですが、ターミナルに以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
irb(main):004:0> Scraping.psychology_urls
Traceback (most recent call last):
2: from (irb):4
1: from (irb):4:in rescue in irb_binding' NoMethodError (undefined method
psychology_urls' for Scraping (call 'Scraping.connection' to establish a connection):Class)
irb(main):005:0>
article.rb
class Article < ApplicationRecord
require 'mechanize'
def psychology_urls
agent = Mechanize.new
page = agent.get('https://www.jstage.jst.go.jp/browse/jjpsy/-char/ja')
@elements = page.search('li .clickable_div')
@elements.each do |ele| article = Article.new article.url = ele.inner_text article.save end
end
end
試したこと
初めはcontrollerに記述しviewsに表示を試み、@elementsまでは表示できました。
その後、eachを使用し該当箇所全てをDBに保存するためにmodelに記述しましたが、
psychology_urlsメソッドが定義されていないとのことで、行き詰まっております。
classを新たに指定したりしましたが、上手くいきません。
DB:articlesテーブルにurlカラムは作成しております。
初歩的かと思いますが、回答いただければ幸いです。
よろしくお願い致します。
補足情報(FW/ツールのバージョンなど)
Rails 6.0.3.4
あなたの回答
tips
プレビュー