Soumettre la recherche
Mettre en ligne
Capybaraで雑にWebスクレイピング
•
1 j'aime
•
1,543 vues
Koji Nakamura
Suivre
Capybaraで雑にWebスクレイピングをしようという話
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 16
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピング
Takuro Sasaki
Rubyによるクローラー開発
Rubyによるクローラー開発
しくみ製作所
JAWSUG architecture-crowler
JAWSUG architecture-crowler
Takuro Sasaki
Anemoneによるクローラー入門
Anemoneによるクローラー入門
Tasuku Nakano
Reactjs
Reactjs
しくみ製作所
Learning jQuery
Learning jQuery
taiju higashi
Innovation eggcloudnative
Innovation eggcloudnative
Takuro Sasaki
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Takuro Sasaki
Recommandé
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピング
Takuro Sasaki
Rubyによるクローラー開発
Rubyによるクローラー開発
しくみ製作所
JAWSUG architecture-crowler
JAWSUG architecture-crowler
Takuro Sasaki
Anemoneによるクローラー入門
Anemoneによるクローラー入門
Tasuku Nakano
Reactjs
Reactjs
しくみ製作所
Learning jQuery
Learning jQuery
taiju higashi
Innovation eggcloudnative
Innovation eggcloudnative
Takuro Sasaki
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Takuro Sasaki
jQueryを中心としたJavaScript
jQueryを中心としたJavaScript
hideaki honda
Rubyで操るAWS 第67回Ruby関西 勉強会
Rubyで操るAWS 第67回Ruby関西 勉強会
Takuro Sasaki
20150523
20150523
Toshihiro Suzuki
MySQL Fabricつらい
MySQL Fabricつらい
yoku0825
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
Yusuke Wada
Jaws ug shimane-1
Jaws ug shimane-1
Mutsumi IWAISHI
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
Yuusuke Takeuchi
小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ
Muyuu Fujita
Webpackにトライ 基本編
Webpackにトライ 基本編
シオリ ショウノ
Node.jsで始める Modern JavaScript Framework
Node.jsで始める Modern JavaScript Framework
kamiyam .
JekyllとBootstrapを使って静的なブログを作ってみたよ
JekyllとBootstrapを使って静的なブログを作ってみたよ
Matsuo Obu
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門
Kohei Kadowaki
JAWS-UG初心者支部 AWS書籍活用術
JAWS-UG初心者支部 AWS書籍活用術
Takuro Sasaki
Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築
AimingStudy
Web制作勉強会 #2
Web制作勉強会 #2
Moto Yan
閉じタグを超えた先に僕が見た景色とは
閉じタグを超えた先に僕が見た景色とは
Muyuu Fujita
Getting start with knockout.js
Getting start with knockout.js
Akio Ishida
実践Backbone.Marionette 現場の悩みと解決まで
実践Backbone.Marionette 現場の悩みと解決まで
Ryuma Tsukano
20150207 elastic loadbalancer
20150207 elastic loadbalancer
Daiki Mori
Angular js or_backbonejs
Angular js or_backbonejs
Omasa Yusaku
20200216 MacBook Proで姿勢検出
20200216 MacBook Proで姿勢検出
Kenichi Kinoshita
俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり)
Seiichiro Ishida
Contenu connexe
Tendances
jQueryを中心としたJavaScript
jQueryを中心としたJavaScript
hideaki honda
Rubyで操るAWS 第67回Ruby関西 勉強会
Rubyで操るAWS 第67回Ruby関西 勉強会
Takuro Sasaki
20150523
20150523
Toshihiro Suzuki
MySQL Fabricつらい
MySQL Fabricつらい
yoku0825
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
Yusuke Wada
Jaws ug shimane-1
Jaws ug shimane-1
Mutsumi IWAISHI
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
Yuusuke Takeuchi
小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ
Muyuu Fujita
Webpackにトライ 基本編
Webpackにトライ 基本編
シオリ ショウノ
Node.jsで始める Modern JavaScript Framework
Node.jsで始める Modern JavaScript Framework
kamiyam .
JekyllとBootstrapを使って静的なブログを作ってみたよ
JekyllとBootstrapを使って静的なブログを作ってみたよ
Matsuo Obu
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門
Kohei Kadowaki
JAWS-UG初心者支部 AWS書籍活用術
JAWS-UG初心者支部 AWS書籍活用術
Takuro Sasaki
Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築
AimingStudy
Web制作勉強会 #2
Web制作勉強会 #2
Moto Yan
閉じタグを超えた先に僕が見た景色とは
閉じタグを超えた先に僕が見た景色とは
Muyuu Fujita
Getting start with knockout.js
Getting start with knockout.js
Akio Ishida
実践Backbone.Marionette 現場の悩みと解決まで
実践Backbone.Marionette 現場の悩みと解決まで
Ryuma Tsukano
20150207 elastic loadbalancer
20150207 elastic loadbalancer
Daiki Mori
Angular js or_backbonejs
Angular js or_backbonejs
Omasa Yusaku
Tendances
(20)
jQueryを中心としたJavaScript
jQueryを中心としたJavaScript
Rubyで操るAWS 第67回Ruby関西 勉強会
Rubyで操るAWS 第67回Ruby関西 勉強会
20150523
20150523
MySQL Fabricつらい
MySQL Fabricつらい
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
Jaws ug shimane-1
Jaws ug shimane-1
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ
Webpackにトライ 基本編
Webpackにトライ 基本編
Node.jsで始める Modern JavaScript Framework
Node.jsで始める Modern JavaScript Framework
JekyllとBootstrapを使って静的なブログを作ってみたよ
JekyllとBootstrapを使って静的なブログを作ってみたよ
いまさら聞けない!?Backbone.js 超入門
いまさら聞けない!?Backbone.js 超入門
JAWS-UG初心者支部 AWS書籍活用術
JAWS-UG初心者支部 AWS書籍活用術
Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築
Web制作勉強会 #2
Web制作勉強会 #2
閉じタグを超えた先に僕が見た景色とは
閉じタグを超えた先に僕が見た景色とは
Getting start with knockout.js
Getting start with knockout.js
実践Backbone.Marionette 現場の悩みと解決まで
実践Backbone.Marionette 現場の悩みと解決まで
20150207 elastic loadbalancer
20150207 elastic loadbalancer
Angular js or_backbonejs
Angular js or_backbonejs
Similaire à Capybaraで雑にWebスクレイピング
20200216 MacBook Proで姿勢検出
20200216 MacBook Proで姿勢検出
Kenichi Kinoshita
俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり)
Seiichiro Ishida
20150317 firefox os勉強会
20150317 firefox os勉強会
Naoki Sekiguchi
ジョブズも成仏するTips考えたったwww
ジョブズも成仏するTips考えたったwww
今城 善矩
桐島、Rubyやめるってよ
桐島、Rubyやめるってよ
Narihiro Nakamura
What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7
Akinori Musha
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
Yusuke HIDESHIMA
Slide
Slide
Moriyuki Arakawa
G*ワークショップ+忘年LT大会
G*ワークショップ+忘年LT大会
ikikko
Pythonで検索エンジン2
Pythonで検索エンジン2
Yasukazu Kawasaki
2013/12/05 JAWS-UG福岡 re:Inventに行って来た&limited previewから返事が来るまでKinesisのドキュメント読んでみた
2013/12/05 JAWS-UG福岡 re:Inventに行って来た&limited previewから返事が来るまでKinesisのドキュメント読んでみた
Aya Komuro
gcpug_okinawa_#2_hiroshi_kawakami
gcpug_okinawa_#2_hiroshi_kawakami
Hiroshi Kawakami
PyCon APAC 2013 Web Secure Coding
PyCon APAC 2013 Web Secure Coding
Gouji Ochiai
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
Tadayoshi Sato
Iotlt 28 HoloLensに日本語聞いてもらいたい
Iotlt 28 HoloLensに日本語聞いてもらいたい
Masaki Yamamoto
FIDOとWebAuthnとCTAPのはなし
FIDOとWebAuthnとCTAPのはなし
SatoshiSuzuki23
Nodeにしましょう
Nodeにしましょう
Yuzo Hebishima
20151126 cookpad talk_test_engineer
20151126 cookpad talk_test_engineer
Kazuaki Matsuo
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法
Takuma Watabiki
210630 python
210630 python
Takuya Nishimoto
Similaire à Capybaraで雑にWebスクレイピング
(20)
20200216 MacBook Proで姿勢検出
20200216 MacBook Proで姿勢検出
俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり)
20150317 firefox os勉強会
20150317 firefox os勉強会
ジョブズも成仏するTips考えたったwww
ジョブズも成仏するTips考えたったwww
桐島、Rubyやめるってよ
桐島、Rubyやめるってよ
What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
Slide
Slide
G*ワークショップ+忘年LT大会
G*ワークショップ+忘年LT大会
Pythonで検索エンジン2
Pythonで検索エンジン2
2013/12/05 JAWS-UG福岡 re:Inventに行って来た&limited previewから返事が来るまでKinesisのドキュメント読んでみた
2013/12/05 JAWS-UG福岡 re:Inventに行って来た&limited previewから返事が来るまでKinesisのドキュメント読んでみた
gcpug_okinawa_#2_hiroshi_kawakami
gcpug_okinawa_#2_hiroshi_kawakami
PyCon APAC 2013 Web Secure Coding
PyCon APAC 2013 Web Secure Coding
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
Iotlt 28 HoloLensに日本語聞いてもらいたい
Iotlt 28 HoloLensに日本語聞いてもらいたい
FIDOとWebAuthnとCTAPのはなし
FIDOとWebAuthnとCTAPのはなし
Nodeにしましょう
Nodeにしましょう
20151126 cookpad talk_test_engineer
20151126 cookpad talk_test_engineer
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法
210630 python
210630 python
Capybaraで雑にWebスクレイピング
1.
Capybaraで 雑にWebスクレイピング @kozy4324
2.
自己紹介 ● 中村 浩士 (なかむら
こうじ) ● @kozy4324 (GitHub, Twitter)
3.
ポケモンGO やってますか?
4.
ありがちなユースケース ● ミニリュウかわいいよ、ミニリュウ! ● 会社近辺に出現したら 仕事をサボってでも 即座に捕まえに行かなければ! ● ポケモン探索サービス (e.g.
PokeVison) を 定期的にチェックして出現したら通知したい
5.
6.
Capybaraとは? ● ブラウザテストのフレームワーク ● ブラウザ操作の内部DSLを提供してくれる ● ドライバを変更することでブラウザを 切り替えることが出来る – Selenium (WebDriver) –
PhantomJS (ヘッドレスブラウザ) – etc...
7.
これで問題解決を試みる!
8.
対象ページ ● 今回は P-GO SEARCH
を利用させてもらった https://pmap.kuku.lu/ ※特定サービスへのWebスクレイピングは自己責任でお願いします
9.
下準備
10.
(雑に)実装 ● MacOSX の open
コマンドを最後に実行しているので、 このスクリプトは特定の環境でしか動きません
11.
(雑に)実行 ● これで会社近辺にミニリュウが出現したら ブラウザに該当ページが表示される!
12.
雑ポイント (1) ● API解析とかしない – Ajaxな動的コンテンツをまるっと扱えるので楽 ● ターゲット(ミニリュウ)のチェックは該当 要素の存在可否をCSSでチェック –
has_css? メソッド – CSSセレクタはDevToolsで抽出して調整すると楽
13.
雑ポイント (2) ● 通知=ブラウザでページ開く – 「とりあえず気づければいいや」の精神 –
真面目にやるならば Slack 通知とか ● 定期実行=シェルスクリプト – 「ソフトウェアを梃子として使う」の精神
14.
今後の展望(あるならば、たぶんない) ● 実行の度にブラウザが起動してウザい – ヘッドレスブラウザのドライバに切り替えよう – Poltergeist
など ● 通知や定期実行 – herokuなどで動かしてSlack通知とか出来ると 素敵ですね ● Slack Bot とか – Ruboty とかで実装すると素敵ですね
15.
まとめ ● 雑にWebスクレイピングをしたい場合は Capybara を オススメしたい –
Ajax な動的コンテンツを気にする必要なし – CSSセレクタ、あとはページコンテキストでのJS実行 なども可能なので、慣れ親しんだ Web の技術でだいた いの問題が解決できる – ただし富豪的なアプローチではある ● 仕事中でもミニリュウを捕まえることが出来ますね – 実際はちゃんと真面目に働いてますよ!
16.
免責 ● 特定サービスの Web スクレイピングは 自己責任でお願いします –
この記事は Web スクレイピングを助長するもので はありません – あくまで問題解決の一手法としての Capybara 利用例の紹介でした
Télécharger maintenant