狠狠撸
Submit Search
饮食店サイトのスクレイピング
Feb 24, 2016
5 likes
2,494 views
だ
だいすけ ふるかわ
第1回クローラー開発勉強会( https://learncrawler.doorkeeper.jp/events/38762 ) でお話させていただいた「饮食店サイトのスクレイピング」のスライドです
Engineering
Read more
1 of 54
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
More Related Content
Viewers also liked
(20)
PPTX
【cybozu conference 2015】nomizu 分科会
Katsuya Nomizu
?
PDF
エンジニア×デザイナー GitHubで変わるコミュニケーション(PHPカンファレンス2014 P4Dセッション)
Hiroyuki Yamaoka
?
PDF
スキニーなシステム开発にぴったりの契约形态
Eiwa System Management, Inc.
?
PDF
大公司贬补肠办蝉!
Ryosuke Otsuya
?
PDF
础奥厂アカウント开设からインスタンスを立ち上け?るまて?の作业自动化について
知教 本間
?
PDF
地方で集うビジネスにしない滨罢ラボ
Takeshi Yanagiya
?
PDF
ホラクラシー型组织词実际に8年経営してわかったこと词(ホラクラシーのメカニズム)
Kozo Takei
?
PDF
これからの「アジャイル」の話をしよう ――今を生き延びるための開発手法とスキル (関西バージョン)
Fumihiko Kinoshita
?
PDF
デザイナーでも构筑できる多言语/マルチデバイス対応サイト
Atushi Sugiyama
?
PDF
足を地に着け落ち着いて考える
Ryuji Tamagawa
?
PDF
ロボットのいる生活@别苍笔颈罢
tomomi_pepper
?
PDF
ソフトウェア受託开発の未来
Yoshihito Kuranuki
?
PDF
世界最强のソフトウェアアーキテクト
驰补丑辞辞!デベロッパーネットワーク
?
PDF
納品のない受託開発を支える レガシーコードを作らない仕組み
Masahiro Nishimi
?
PDF
【基调讲演】変える覚悟、変わる覚悟。
Cybozucommunity
?
PDF
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
Masaru Gushiken
?
PDF
探索的テスト入门
H Iseri
?
PDF
サーヒ?スをつくりなおす决断をするとき
Masaki Yamamoto
?
PDF
エンタープライズパッケージを利用しました?HTML Exporter編?
Yuzuru Sano
?
PDF
クラウド时代だからこそ见直したい?笔贬笔アプリケーションのパフォーマンスチューニング
Terui Masashi
?
【cybozu conference 2015】nomizu 分科会
Katsuya Nomizu
?
エンジニア×デザイナー GitHubで変わるコミュニケーション(PHPカンファレンス2014 P4Dセッション)
Hiroyuki Yamaoka
?
スキニーなシステム开発にぴったりの契约形态
Eiwa System Management, Inc.
?
大公司贬补肠办蝉!
Ryosuke Otsuya
?
础奥厂アカウント开设からインスタンスを立ち上け?るまて?の作业自动化について
知教 本間
?
地方で集うビジネスにしない滨罢ラボ
Takeshi Yanagiya
?
ホラクラシー型组织词実际に8年経営してわかったこと词(ホラクラシーのメカニズム)
Kozo Takei
?
これからの「アジャイル」の話をしよう ――今を生き延びるための開発手法とスキル (関西バージョン)
Fumihiko Kinoshita
?
デザイナーでも构筑できる多言语/マルチデバイス対応サイト
Atushi Sugiyama
?
足を地に着け落ち着いて考える
Ryuji Tamagawa
?
ロボットのいる生活@别苍笔颈罢
tomomi_pepper
?
ソフトウェア受託开発の未来
Yoshihito Kuranuki
?
世界最强のソフトウェアアーキテクト
驰补丑辞辞!デベロッパーネットワーク
?
納品のない受託開発を支える レガシーコードを作らない仕組み
Masahiro Nishimi
?
【基调讲演】変える覚悟、変わる覚悟。
Cybozucommunity
?
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
Masaru Gushiken
?
探索的テスト入门
H Iseri
?
サーヒ?スをつくりなおす决断をするとき
Masaki Yamamoto
?
エンタープライズパッケージを利用しました?HTML Exporter編?
Yuzuru Sano
?
クラウド时代だからこそ见直したい?笔贬笔アプリケーションのパフォーマンスチューニング
Terui Masashi
?
More from だいすけ ふるかわ
(19)
PDF
スタートアッフ?ツールチラ見せナイト エニタイムス?
だいすけ ふるかわ
?
KEY
贵颈谤别贵辞虫による奥别产デザイン
だいすけ ふるかわ
?
KEY
Ti.developers.meeting
だいすけ ふるかわ
?
PDF
Titanium mobile
だいすけ ふるかわ
?
PDF
LibraHack後の スクレイピングを 考える
だいすけ ふるかわ
?
PDF
贬迟尘濒5で作る颈笔丑辞苍别アプリケーション2010
だいすけ ふるかわ
?
PDF
贬罢惭尝5で作る颈笔丑辞苍别アプリケーション
だいすけ ふるかわ
?
PDF
Webteko#10 GoogleMaps
だいすけ ふるかわ
?
PDF
すまべん20091114
だいすけ ふるかわ
?
PDF
Webteko 20090925
だいすけ ふるかわ
?
PDF
プログラマがデザインをがんばってみた
だいすけ ふるかわ
?
PDF
Amazon S3 Ec2
だいすけ ふるかわ
?
PDF
Java Script入門
だいすけ ふるかわ
?
PPT
メールフォームを作る
だいすけ ふるかわ
?
PPT
メイドめーる
だいすけ ふるかわ
?
PDF
メイドめーる
だいすけ ふるかわ
?
PPT
Iepngfix
だいすけ ふるかわ
?
PPT
ememo_plesentation_2008-02-26
だいすけ ふるかわ
?
PPT
Human Date20070907
だいすけ ふるかわ
?
スタートアッフ?ツールチラ見せナイト エニタイムス?
だいすけ ふるかわ
?
贵颈谤别贵辞虫による奥别产デザイン
だいすけ ふるかわ
?
Ti.developers.meeting
だいすけ ふるかわ
?
Titanium mobile
だいすけ ふるかわ
?
LibraHack後の スクレイピングを 考える
だいすけ ふるかわ
?
贬迟尘濒5で作る颈笔丑辞苍别アプリケーション2010
だいすけ ふるかわ
?
贬罢惭尝5で作る颈笔丑辞苍别アプリケーション
だいすけ ふるかわ
?
Webteko#10 GoogleMaps
だいすけ ふるかわ
?
すまべん20091114
だいすけ ふるかわ
?
Webteko 20090925
だいすけ ふるかわ
?
プログラマがデザインをがんばってみた
だいすけ ふるかわ
?
Amazon S3 Ec2
だいすけ ふるかわ
?
Java Script入門
だいすけ ふるかわ
?
メールフォームを作る
だいすけ ふるかわ
?
メイドめーる
だいすけ ふるかわ
?
メイドめーる
だいすけ ふるかわ
?
Iepngfix
だいすけ ふるかわ
?
ememo_plesentation_2008-02-26
だいすけ ふるかわ
?
Human Date20070907
だいすけ ふるかわ
?
Ad
Recently uploaded
(6)
PPTX
[Liberaware] Engineer Summer Internship.pptx
koyamakohei
?
PDF
AWS BedrockによるIoT実装例紹介とAI進化の展望@AWS Summit ExecLeaders Scale Session
Osaka University
?
PDF
音学シンポジウム2025 招待讲演 远隔会话音声认识のための音声强调フロントエント?:概要と我々の取り组み
Tsubasa Ochiai
?
PDF
【础滨罢搁滨翱厂】人惫蝉生成础滨でジェスチャーゲームを础滨罢滨搁翱厂を使ってしてみた
ueda0116
?
PDF
フィシ?カル础滨时代のセキュリティ:ロホ?ティクスと础滨セキュリティの融合のあり方
Osaka University
?
PDF
React Native vs React Lynx (React Native Meetup #22)
Taiju Muto
?
[Liberaware] Engineer Summer Internship.pptx
koyamakohei
?
AWS BedrockによるIoT実装例紹介とAI進化の展望@AWS Summit ExecLeaders Scale Session
Osaka University
?
音学シンポジウム2025 招待讲演 远隔会话音声认识のための音声强调フロントエント?:概要と我々の取り组み
Tsubasa Ochiai
?
【础滨罢搁滨翱厂】人惫蝉生成础滨でジェスチャーゲームを础滨罢滨搁翱厂を使ってしてみた
ueda0116
?
フィシ?カル础滨时代のセキュリティ:ロホ?ティクスと础滨セキュリティの融合のあり方
Osaka University
?
React Native vs React Lynx (React Native Meetup #22)
Taiju Muto
?
Ad
饮食店サイトのスクレイピング
1.
ふるかわだいすけ/mogya.com 飲食店サイトの スクレイピング
2.
自己紹介 ふるかわだいすけ(もぎゃ) フリーランスWEBエンジニア http://mogya.com/ Twitter: @mogya
3.
モバイラーズオアシス http://oasis.mogya.com/
4.
モバイラーズオアシス http://oasis.mogya.com/ 六周年!
5.
今日のテーマ 飲食店サイトの スクレイピング
6.
目次 ? どんなことをしているか ? 情報のパース ?
サイトの巡回 ? キャッシュについて ? 困ったサイトへの対応 ? スケジューラについて ? 法的な側面について
7.
あさーく行きます ? どんなことをしているか ? 情報のパース ?
サイトの巡回 ? キャッシュについて ? 困ったサイトへの対応 ? スケジューラについて ? 法的な側面について
8.
目次 ? どんなことをしているか ? 情報のパース ?
サイトの巡回 ? キャッシュについて ? 困ったサイトへの対応 ? スケジューラについて ? 法的な側面について
9.
モバイラーズオアシスで见られる情报
10.
情报提供フォーム
11.
あたりまえです こんなめんどくさいものに 入力してくれる人はいない
12.
このくらいが限界
13.
このために必要なもの
14.
スクレイピング
15.
デモ
16.
デモ
17.
目的はたくさん ? 店舗登録のためのスクレイピング ? 新店舗を見つけるためのスクレイピング ?
情報を更新するため ? etc
18.
目次 ? どんなことをしているか ? 情報のパース ?
サイトの巡回 ? キャッシュについて ? 困ったサイトへの対応 ? スケジューラについて ? 法的な側面について
19.
こうなっているところから http://www.mcdonalds.co.jp/shop/map/map.php?strcode=01570
20.
店名を取ってみる require 'hpricot' require 'open-uri' url
= 'http://www.mcdonalds…map.php?strcode=01570' page = Hpricot( open(url).read );nil page.search(".Shopname h3").inner_text
21.
という話を6年前にした http://www.slideshare.net/mogya/ss-3836905
22.
時間がないので略 http://amazon.jp/dp/4797380357/mogya-22/ref=nosim/
23.
目次 ? どんなことをしているか ? 情報のパース ?
サイトの巡回 ? キャッシュについて ? 困ったサイトへの対応 ? スケジューラについて ? 法的な側面について
24.
id=xxxx方式 http://www.mcdonalds.co.jp/shop/map/map.php?strcode=01578
25.
一覧ページ→詳細ページ http://www.bagus-99.com/company/shop.html
26.
「次へ」対応 http://www.mapion.co.jp???search=mapAreabtn
27.
ほとんどのサイトで使える
28.
目次 ? どんなことをしているか ? サイトの巡回 ?
情報のパース ? キャッシュについて ? 困ったサイトへの対応 ? スケジューラについて ? 法的な側面について
29.
よくあるスクレイピング
30.
よくあるプログラミング ページをダウンロード ↓ ページをパース(あ、バグってる) ↓ ページをダウンロード ↓ Twitterを見に行く (五秒) (五秒)
31.
よくあるプログラミング ページをダウンロード ↓ ページをパース ↓ ページをダウンロード ↓ (100ページくらい経過) ↓ ページをパース(あ、失敗した) ↓ 1ページ目からもう一回
32.
キャッシュが必要!
33.
こういうものがほしい
34.
つくった https://gist.github.com/mogya/ec02020b8af8cbeec750 ?wgetを呼び出してページ取得 ?wgetがキャッシュを作成 ?wgetのキャッシュファイルを返す
35.
目次 ? どんなことをしているか ? 情報のパース ?
サイトの巡回 ? キャッシュについて ? 困ったサイトへの対応 ? スケジューラについて ? 法的な側面について
36.
昔あった事例
37.
昔あった事例
38.
昔あった事例 page = Hpricot( open(url).read.gsub( "</script>n<body>","</script>n“ ) );nil 問題:xpathで読めなくなってしまう 対策:読み込んだタイミングで直してしまう
39.
目次 ? どんなことをしているか ? 情報のパース ?
サイトの巡回 ? キャッシュについて ? 困ったサイトへの対応 ? スケジューラについて ? 法的な側面について
40.
3年位前の状況 ? 件数が増えると、いつなにをやってい るのかわからなくなってくる ? 失敗したタスクはどれ?ログはどこ?
41.
jenkins
42.
今後の課題 ? 重い ? スクレイピングよりスケジューラのほうが重い ?
低価格サーバには厳しい>< ? もっとクレバーにやってほしい ? 何時にやるかは重要でない ? 1つタスクが終わったら次を実行 ? 優先度別にタスクを実施 ? 月に一回してほしいタスク ? ヒマな時でよいタスク
43.
目次 ? どんなことをしているか ? サイトの巡回 ?
情報のパース ? キャッシュについて ? 困ったサイトへの対応 ? スケジューラについて ? 法的な側面について
44.
よくある话题
45.
モバイラーズオアシスの対策 ? 昼間:5秒に1ページ ? 夜間:1秒に1ページ ?
同じページは一ヶ月に一回しかア クセスしない
46.
歴史的経緯 2010年 librahack事件 → 和解
47.
歴史的経緯 2012年 著作権法改正 →「スクレイピングは犯罪じゃないよ」
48.
別の問題 「人のサイトから集めた情報で メシ食っていいと思ってんのか」 (メールで頂いたご意見) →スクレイピングで集めた情報を 公開すると著作権の問題になる?
49.
モバイラーズオアシスの解釈 ? 「事実」は著作物じゃない ? 「文章」は著作物かもしれない ?
例)スターバックス茅場町の電話番号が03-xxxx-xxxx ? →単なる事実 ? 例)スターバックス茅場町にはお客様用コンセントあり ? →単なる事実 ? 例)「茅場町のスタバのカウンタには8個のコンセントが 用意されていました。コーヒー美味しかったです」 ? →著作物...?
50.
モバイラーズオアシスの解釈 https://ja.wikipedia.org/wiki/%E8%91%97%E4%BD%9C%E6%A8%A
51.
モバイラーズオアシスの方針 ?店名とか営業時間を公式サイトから持ってくることは問題ない (サイトを落としたりしちゃ駄目) ?ブログとかで「 ? ?
で電源使えました」て書いてあった →電源が使えたという事実に著作権はないので、 ありがたく引用させていただく ?競合の電源情報サイト →まるごと引っこ抜くと、「データベースは著作物」理論に引っ かかるかもしれない。 →個別のお店の情報ソースとして見るぶんには問題ない(だろう)
52.
モバイラーズオアシスの方針 ? ぼくは法律の専門家じゃないし、しょぼい会社なので顧問弁護 士とか付けてません。 ? 法的内容についてはぼくが勉強した解釈にすぎないので、
ご 自身の問題については法律関連の専門家にご相談ください。 ? 交通ルールを守っても車はつっこんでくるのと同様、法律がい いと言っても訴えられる可能性は常にありえます
53.
ありがとうございました おわり
54.
ありがとうございました ? どんなことをしているか ? サイトの巡回 ?
情報のパース ? キャッシュについて ? 困ったサイトへの対応 ? スケジューラについて ? 法的な側面について
Download