質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

321閲覧

[Ruby初心者] Anemone(gem)の使い方

anvinon

総合スコア38

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2017/10/02 02:42

編集2017/10/02 02:54

こちらのサイトを見ながら独学している初心者です。
Anemoneによるクローラー入門
こちらのサイトのコードを見ていて不明点があり、質問致しました。

Ruby

1# anemone3.rbrequire 'anemone'require 'nokogiri'require 'kconv' 2 3URL = ARGV[0]Anemone.crawl(URL,:depth_limit => 1) do |anemone| 4 PATTERN = %r[lego-scrum.html|summer_intern2014.html|agile_whiteboards.html] 5 6 anemone.focus_crawl do |page| 7 page.links.keep_if{ |link| 8 link.to_s.match(PATTERN) 9 } 10 end 11 12 anemone.on_every_page do |page| 13 doc = Nokogiri::HTML.parse(page.body.toutf8) 14 body = doc.xpath(%Q[//*[@id="content"]/article/div[3]]) 15 16 body.css('h2').each do |h2| 17 puts h2.text 18 end 19 endend

三行目の

ruby

1URL = ARGV[0]Anemone.crawl(URL,:depth_limit => 1) do |anemone|

こちらの部分ですが、crawlメソッドのレシーバはARGV[0]Anemoneでしょうか?
検索した結果、ARGV[0]は、ターミナルから実行する際に与える引数の一つ目が入っているのはわかります。
しかし、何故ここにARGV[0]が来るのかわかりません。

先日、名前空間という物を知ったのでこちらもその関係かな、とは思うのですが、それも確信に至らないので
質問をさせて頂きました。まだまだ理解の浅い初心者ではありますが、どなたかご教示ください。
どうぞよろしくおねがいします。

追記:単にARGV[0]の後で本来は改行すべきなところを改行していないからでは、と思いましたので、その点追記します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

このままでは構文エラーなので、

単にARGV[0]の後で本来は改行すべきなところを改行していないからでは、

ということでしょう。

投稿2017/10/02 03:27

otn

総合スコア84505

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

anvinon

2017/10/02 03:33

otn様 ご回答ありがとうございます。追記の通りだったようで安心しました。 ところで、一つ伺いたいのですが、 > このままでは構文エラーなので、 何故このままだと構文エラーになってしまうのでしょうか? もしよろしければご回答頂けますとありがたいです。 どうぞよろしくおねがいします。
anvinon

2017/10/02 03:36

otn様 失礼しました、おっしゃった意味がわかりました。 質問は取り下げます。
otn

2017/10/02 03:38

何故と言われても、Rubyの構文として正しくない(Rubyのプログラムとして解釈しようがない)からとしか言いようがないです。
anvinon

2017/10/02 03:42

otn様 入れ違いで失礼しました。おっしゃった意味がわかりました。 申し訳ありません。この質問は取り下げます。 また、ベストアンサーに選ばせて頂きました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問