Submit Search
クローラを作る技術と設計 (毎週のハンズオン勉強会資料)
•
Download as PPTX, PDF
•
36 likes
•
13,493 views
ひとし あまの
Follow
シス創勉強会資料
Read less
Read more
1 of 17
Download now
Downloaded 181 times
More Related Content
クローラを作る技術と設計 (毎週のハンズオン勉強会資料)
1.
クローラを作る技術と設計PHP でやるお(^ω^)
2.
目次スクレイピングの技術XPath正規表現サーバーの設計
3.
XPathXML や 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!');}1s-_.!~*'()a-zA-Z0-9;?:@&=+$,%#s11://http222← これは優先順位X
8.
正規表現練習Apache のログファイルから、 IP
アドレス別アクセス数を出してみよう
9.
クローラの設計リクエスト時にクロールする定期的にクロールするジョブキューを使う
10.
リクエスト時にクロールする2インターネット1ウェブサーバ3
11.
定期的にクロールするインターネットデータベースサーバウェブサーバクローラサーバ
12.
ジョブキューを使うインターネットデータベースサーバデータウェブサーバjobjobjobクローラサーバ
13.
プロセス管理crondaemon
14.
cron定期的にプログラムを実行
15.
とても簡単
16.
コマンドラインで動くプログラムをそのまま使えるcron$ vim crontab.txt12
4 * * * php /home/user/crawl_user_page.php34 5 * * * php /home/user/crawl_top_page.php$ crontab < crontab.txt
17.
daemonバックグラウンドで起動するプログラム親プロセスを持たない起動方法、終了方法を準備する必要があるdaemon 用にプログラムを書かなければいけない
18.
daemonrequire_once("System/Daemon.php");System_Daemon::setOptions(array( 'appName'
=> 'crawler'));System_Daemon::start();while (true) { …System_Dameon::iterate(5);}System_Daemon::stop();
Download