現在、Rubyでスクレイピングを学びたいと考えております。
インターネットサイトで検索するといくつかスクレイピングに関する記事が出てくるようですが、どれも1から学んだり、応用展開する事じゃ難しそうに感じます。
スクレイピングを勉強した事のある方、何か良いサイト例等はございますでしょうか?
よろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
スクレイピングを学ぶ前に法律的な制限を学ぶことをオススメします。
入り口は以下で良いかと。
【スクレイピングと法律】スクレイピングって法律的に何がOKで何がOUTなのかを弁護士が解説。
スクレイピング入門サイトで明らかな利用規約違反のサンプルを提示している場合もあり、個人的には非常に問題だと思っています。
サイト管理者から見た場合、スクレイピング初心者(問題を起こす可能性の高い人)のアクセスを探し出すのは思っている以上に簡単です。
あまり話題になったことが無いですが、サイト管理者からプロバイダ経由で簡単に警告を行うことが出来ます。警告無視によるプロバイダ契約の解除まではそれほど難しいものではありません。
正しい法律知識とアクセスマナーがクローリングの最低限の下地になるので、スクレイピング以前の問題として、キチンと学んでください。
投稿2019/04/15 12:42
退会済みユーザー
総合スコア0
0
スクレイピングで何をしたいかによって、学ぶ内容も変わると思います。
私は仕事と趣味でいくつかのサイトをスクレイピングしていますが、その手法は年々変化しています。初期の頃は「とりあえず要件を満たせればなんでもいい」と思って自己流でやっていましたが、その後、「いくらなんでもDOMの分析くらいしないとな」という形でXPathなども使うようになりました。
私の作ったツールの一つに、「クレジットカード情報漏洩を素早く検知する」という目的のものがあります。これですと、以下のような要件で作ることができます。
- 情報源の見出しのページをHTTPでダウンロードする
- ダウンロードした中身に「流出」や「漏洩」などのキーワードがないか探す
- 新しい記事が見つかったことをメールなどで通知する
この中で、1はRubyでもPythonでも、いくらでも記事が見つかるでしょう。2は、ちゃんとやろうと思うと難易度が高いですが、探すだけであればいきなりの正規表現でもいいでしょう。3はメール送信ができればよいので、これも解説には困らないでしょう。
…といかにも簡単そうに書きましたが、実は難しいのは、「それが新しい記事なのか」という判定です。そうでないと、スクレイピングの度毎に同じ記事の通知が飛んでくることになりウザいです。そのためには、ファイルなりデータベースに、履歴を覚えておかなければなりません。その辺は、まぁ要件次第ですね。
先達の知恵に学ぶことはもちろん大切ですが、スクレイピングくらいであれば脆弱性が原因で外部から侵入されたりもしないでしょうから、「作りたいもの」を決めてチャレンジされてみてはどうでしょうか。そうでないと、学習の動機づけという点でも難しいと思います。そうして壁にぶつかれば、あらためてteratailでも質問してもよいし、その「知りたいこと」に適した書籍を教えてもらえば、勉強も捗るでしょう。
投稿2019/04/15 12:41
総合スコア11701
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
おすすめの書籍
・Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例
静的・動的なサイトをRubyでクロールする方法について学ぶことができる。
Rubyの構文について知っている必要がある。
・クローリングハック あらゆるWebサイトをクロールするための実践テクニック
Javaによるクローラーを例に、クローラーを作る際に必要になる知識について広く学べる。
Rubyでクローラーを作る際の情報も少し載っているが若干古め。
・Puppeteer入門 スクレイピング+Web操作自動処理プログラミング
JavaScriptによるクローラーの作成について、開発環境の構築から学べる。
拝読中。
おすすめのサイト
・クローラ作成に必須!XPATHの記法まとめ
上の書籍だけではXPathの情報が足りないので。
投稿2019/04/15 12:06
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
個人的なオススメは以下となります。
導入から、各種コマンドについてまで わかりやすく記載されている為、
実装時にお世話になりました。ご参考までに
http://www.seleniumqref.com/
投稿2019/04/15 09:32
総合スコア124
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
今では高度なプログラミングのスキルが無くとも、ツールを導入することで、WEBスクレイピングは実施可能です。例えばOctoparseようなスクレイピングツールもたくさんありますね。
投稿2019/07/05 07:05
総合スコア163
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。