Submit Search
Upload
クローラを作る技術と設計 (毎週のハンズオン勉強会資料)
•
Download as PPTX, PDF
•
36 likes
•
13,475 views
ひとし あまの
Follow
シス創勉強会資料
Read less
Read more
Technology
Report
Share
Report
Share
1 of 17
Download now
Recommended
ウェブアプリのセキュリティをちゃんと知ろう (毎週のハンズオン勉強会の資料)
ウェブアプリのセキュリティをちゃんと知ろう (毎週のハンズオン勉強会の資料)
ひとし あまの
ウェブから情報をあつめる
ウェブから情報をあつめる
Shuhei Iitsuka
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめよう
Shinsuke Sugaya
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
PHPの今とこれから2019
PHPの今とこれから2019
Rui Hirokawa
PHPの今とこれから2021
PHPの今とこれから2021
Rui Hirokawa
PHP基礎勉強会
PHP基礎勉強会
Yuji Otani
PHP の GC の話
PHP の GC の話
y-uti
Recommended
ウェブアプリのセキュリティをちゃんと知ろう (毎週のハンズオン勉強会の資料)
ウェブアプリのセキュリティをちゃんと知ろう (毎週のハンズオン勉強会の資料)
ひとし あまの
ウェブから情報をあつめる
ウェブから情報をあつめる
Shuhei Iitsuka
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめよう
Shinsuke Sugaya
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
PHPの今とこれから2019
PHPの今とこれから2019
Rui Hirokawa
PHPの今とこれから2021
PHPの今とこれから2021
Rui Hirokawa
PHP基礎勉強会
PHP基礎勉強会
Yuji Otani
PHP の GC の話
PHP の GC の話
y-uti
PHPの今とこれから 2013
PHPの今とこれから 2013
Rui Hirokawa
PHP, Now and Then 2011
PHP, Now and Then 2011
Rui Hirokawa
Prophecyを使ったユニットテスト
Prophecyを使ったユニットテスト
Akio Ishida
HHVM Hack
HHVM Hack
Masaaki Yonebayashi
Hack/HHVM 入門
Hack/HHVM 入門
y-uti
最近の PHP の話
最近の PHP の話
y-uti
Web技術勉強会 20100925
Web技術勉強会 20100925
龍一 田中
PHPの今とこれから2014
PHPの今とこれから2014
Rui Hirokawa
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
Hiroaki KOBAYASHI
.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説
Cherry Pie Web
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5
Nishida Kansuke
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数
Wataru Terada
PHPの今とこれから2020
PHPの今とこれから2020
Rui Hirokawa
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Yuji Nojima
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
sters
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
Tomohito Adachi
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
kwatch
PDOでデータベース接続と SQLインジェクション対策
PDOでデータベース接続と SQLインジェクション対策
iPride Co., Ltd.
Perl logging
Perl logging
keroyonn
System4 comment h
System4 comment h
Jun Chiba
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
Fumito Mizuno
More Related Content
What's hot
PHPの今とこれから 2013
PHPの今とこれから 2013
Rui Hirokawa
PHP, Now and Then 2011
PHP, Now and Then 2011
Rui Hirokawa
Prophecyを使ったユニットテスト
Prophecyを使ったユニットテスト
Akio Ishida
HHVM Hack
HHVM Hack
Masaaki Yonebayashi
Hack/HHVM 入門
Hack/HHVM 入門
y-uti
最近の PHP の話
最近の PHP の話
y-uti
Web技術勉強会 20100925
Web技術勉強会 20100925
龍一 田中
PHPの今とこれから2014
PHPの今とこれから2014
Rui Hirokawa
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
Hiroaki KOBAYASHI
.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説
Cherry Pie Web
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5
Nishida Kansuke
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数
Wataru Terada
PHPの今とこれから2020
PHPの今とこれから2020
Rui Hirokawa
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Yuji Nojima
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
sters
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
Tomohito Adachi
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
kwatch
PDOでデータベース接続と SQLインジェクション対策
PDOでデータベース接続と SQLインジェクション対策
iPride Co., Ltd.
Perl logging
Perl logging
keroyonn
What's hot
(20)
PHPの今とこれから 2013
PHPの今とこれから 2013
PHP, Now and Then 2011
PHP, Now and Then 2011
Prophecyを使ったユニットテスト
Prophecyを使ったユニットテスト
HHVM Hack
HHVM Hack
Hack/HHVM 入門
Hack/HHVM 入門
最近の PHP の話
最近の PHP の話
Web技術勉強会 20100925
Web技術勉強会 20100925
PHPの今とこれから2014
PHPの今とこれから2014
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
⑲jQueryをおぼえよう!その5
⑲jQueryをおぼえよう!その5
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数
PHPの今とこれから2020
PHPの今とこれから2020
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
PDOでデータベース接続と SQLインジェクション対策
PDOでデータベース接続と SQLインジェクション対策
Perl logging
Perl logging
Similar to クローラを作る技術と設計 (毎週のハンズオン勉強会資料)
System4 comment h
System4 comment h
Jun Chiba
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
Fumito Mizuno
CodeIgniterによるPhwittr
CodeIgniterによるPhwittr
kenjis
Cakephp勉強会@tokyo #4
Cakephp勉強会@tokyo #4
ichikaway
System4 comment
System4 comment
Jun Chiba
運用構築技術者の為のPSプログラミング第1回
運用構築技術者の為のPSプログラミング第1回
Shigeharu Yamaoka
WebAPIではじめるphp入門
WebAPIではじめるphp入門
Hiroaki Murayama
「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう
Kentaro Matsui
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
Sotaro Karasawa
いまさら聞けないRake入門
いまさら聞けないRake入門
Tomoya Kawanishi
Xml builderの紹介
Xml builderの紹介
Hiraku Nakano
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
webを飾る技術
webを飾る技術
ina job
System1
System1
Jun Chiba
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
Hideo Kashioka
Php in ruby
Php in ruby
do_aki
Apache Torqueについて
Apache Torqueについて
tako pons
運用構築技術者の為のPSプログラミング第2回
運用構築技術者の為のPSプログラミング第2回
Shigeharu Yamaoka
Windows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみた
y-uti
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
mitamex4u
Similar to クローラを作る技術と設計 (毎週のハンズオン勉強会資料)
(20)
System4 comment h
System4 comment h
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
CodeIgniterによるPhwittr
CodeIgniterによるPhwittr
Cakephp勉強会@tokyo #4
Cakephp勉強会@tokyo #4
System4 comment
System4 comment
運用構築技術者の為のPSプログラミング第1回
運用構築技術者の為のPSプログラミング第1回
WebAPIではじめるphp入門
WebAPIではじめるphp入門
「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
いまさら聞けないRake入門
いまさら聞けないRake入門
Xml builderの紹介
Xml builderの紹介
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
webを飾る技術
webを飾る技術
System1
System1
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
Php in ruby
Php in ruby
Apache Torqueについて
Apache Torqueについて
運用構築技術者の為のPSプログラミング第2回
運用構築技術者の為のPSプログラミング第2回
Windows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみた
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
Recently uploaded
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Recently uploaded
(9)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
クローラを作る技術と設計 (毎週のハンズオン勉強会資料)
1.
クローラを作る技術と設計 PHP でやるお(^ω^)
2.
目次 スクレイピングの技術 XPath
正規表現 サーバーの設計
3.
XPath XML や
HTML の任意の位置を取得するための式 XPathエンジンがあれば、 XPathを指定して HTML 上の値を簡単に持ってこれる
4.
XPath <?php $url
= 'http://www.nicovideo.jp/'; libxml_use_internal_errors(true); $doc = new DOMDocument(); $doc->loadHTML(file_get_contents($url)); libxml_clear_errors(); $xpath = new DOMXPath($doc); foreach ($xpath->query('//a') as $node) { echo $node->textContent . ""; }
5.
XPath 練習 ニコニコ動画の動画再生数とコメント数をスクレイピングしてみよう
6.
正規表現 任意の文字列に対して、指定したパターンにマッチしているかを試す パーサーではないので、構造を持ったデータには弱い
構造を持たないフラットなデータに良い。 トークナイザ バリデータ オートマトンを描くと理解しやすい
7.
正規表現 $reg =
'/s?https?:[-_.!~*'()a-zA-Z0-9;?:@&=+$,%#]+/u'; if (!preg_match($reg, $str)) { throw new Exception('URL is invalid!'); } 1 s -_.!~*'()a-zA-Z0-9;?:@&=+$,%# s 1 1 :// http 2 2 2 ← これは優先順位 X
8.
正規表現 練習 Apache
のログファイルから、 IP アドレス別アクセス数を出してみよう
9.
クローラの設計 リクエスト時にクロールする 定期的にクロールする
ジョブキューを使う
10.
リクエスト時にクロールする 2 インターネット
1 ウェブサーバ 3
11.
定期的にクロールする インターネット データベースサーバ
ウェブサーバ クローラサーバ
12.
ジョブキューを使う インターネット データベースサーバ
データ ウェブサーバ job job job クローラサーバ
13.
プロセス管理 cron daemon
14.
15.
とても簡単
16.
17.
daemon バックグラウンドで起動するプログラム 親プロセスを持たない
起動方法、終了方法を準備する必要がある daemon 用にプログラムを書かなければいけない
18.
daemon require_once("System/Daemon.php"); System_Daemon::setOptions(array(
'appName' => 'crawler' )); System_Daemon::start(); while (true) { … System_Dameon::iterate(5); } System_Daemon::stop();
Download now