際際滷

際際滷Share a Scribd company logo
スクレイピングその朔
L紅寒 崘錬
2014/07/28 PHP茶氏#80
徭失B初
? L紅寒崘錬
? デジタルサ`カス幄 険砠LCTO
? 箸龍: Web_k, iOSアプリ_k
? その麿箸龍: レンタルカ`ト, 徨垢恬(mbed) ´
@tomzoh TOMZOH
デジタルサ`カス幄
? Webサイト_kPHP, CakePHP, Drupal
? スマホアプリ_kiOS, Android)
? 徭芙サ`ビス http://appbuilder.jp
念指までのあらすじ
http://www.slideshare.net/hasegawatomoki/ss-36223911
念指Y創: スクレイピングのススメ
念指までのあらすじ
? 仝スクレイピング々とは。
? HTMLScrapingライブラリとTidyを聞ったg箭。
? オチ
スクレイピングとは
これを´ こうする
array(	
(int) 0 => array(	
'is-fba' => false,	
'shipping' => (int) 257,	
'price' => (int) 2001,	
'condition' => '嶄',	
'subcondition' => '辛',	
'seller' => array(	
'name' => 'lambdas',	
'merchant-id' =>
'A3VELMD24S0ERO'	
),	
),
念指までのあらすじ
? 仝スクレイピング々とは。
? 返B初
? オチ
返B初
1. HTMLを函誼する ´ ?le_get_contents(), curl
2. HTMLを屁侘する ´ Tidy or not
3. HTMLをパ`スする ´ HTMLScraping
4. 秤鵑鯣,螻す ´ SimpleXMLオブジェクト
念指までのあらすじ
? 仝スクレイピング々とは。
? HTMLScrapingライブラリとTidyを聞ったg箭。
? オチ
オチ
? 云晩ごB初したHTMLScraping、竃婢を幣そう
と方定ぶりに碧、_いてみたら´
スクレイヒ?ンク?その朔
WANTED
? oくなっていました。orz
? lかSJISでも聞えるパ`サ岑ってたら縮えてく
ださい。
スクレイピングその朔
スクレイピングその朔
? LT瘁のディスカッションや巷_したスライド
への郡鬉箸靴討いつかライブラリ縮えて
いた。
? phpQuery
? Guzzle (Goutte)
? QueryPath
? WebDriver
phpQuery
phpQuery
? 仝phpQuery is a server-side, chainable, CSS3
selector driven Document Object Model
(DOM) API based on jQuery JavaScript
Library.々
? DOM勣殆をjQueryLにxkするPHP喘ライブ
ラリ。
https://code.google.com/p/phpquery/
phpQuery こう聞う
? composer.jsonを匯伏卉けばComposerでインスト`ル辛嬬。
? jQueryぽく勣殆をxk。かなりのjQueryぽさ。倉。
? 仝<meta charset="utf-8">傚冱だけどgHはSJIS々仝]じタグoしやタ
グ秘れ徨は輝たり念々仝IDが嶷}してる々というエグいHTMLにして
畠悶をUTF-8にQしてあげればパ`スできた。
? SJISはNGぽい。
? クセのいき圭にTれれば聞い拱崛爾気修Α
!!
QueryPath
QueryPath
? 仝QueryPath is a PHP library for manipulating
HTML and XML. Think of it as jQuery for the
server.々
? HTMLやXMLをjQueryのにQうPHP喘ライブ
ラリ。
http://querypath.org/
QueryPath こう聞うらしい
? インスト`ルはComposerでらくちん。
? jQueryぽく勣殆をxk。
? 念竃のエグいHTMLはライブラリ坪何でエラ`が竃てパ`スできなかった。
? マンチェスタ`ユナイテッド晩云の栽晩殻ペ`ジ(*1)もパ`ス竃栖ず´。
? <html><head><title>foo</title></head><body></body></html>みたいな
のはパ`スできる。foo ★ タイトル でもパ`スできるけど晒ける
? 書指はあきらめた。
http://www.manutd.jp/FixturesAndResults/UnitedFixturesandResults.aspx*1
Guzzle (Goutte)
Guzzle (Goutte)
? 仝Guzzle is a PHP HTTP client that makes it easy to
work with HTTP/1.1 and takes the pain out of
consuming web services.々
? あれHTTPクライアントライブラリ
? vBしてGoutteというのがつかった。
? Symfony, Zend Framework のコンポネントを聞った
ラッパライブラリ。Guzzleも聞ってる庁。
グ ` ト
https://github.com/fabpot/goutte
Goutte こう聞う
? インスト`ルはComposerでらくちん。
? XPathまたはCSSセレクタでノ`ドをxk辛嬬。どちらも聞えるの
がポイント互。
? eachにo兆v方を局すナウい湖じ。
? 念竃のエグいHTMLでも念I尖oしにそのままパ`スできた。
? 聞い拱崛爾気修Αこれを聞いzんでみようと房った。
WebDriver
WebDriver
? 仝PHP bindings for Selenium WebDriver 々
? 鮫中燕幣のoいブラウザでWebペ`ジを燕幣
し、勣殆をxkしようというアプロ`チ。
? ちゃちゃっと秘れてちゃっと咾すつもりでい
たらY寄並だったので書指はあきらめた。
https://code.google.com/p/php-webdriver-bindings/
(php-webdriver-bindings)
まとめ
? スクレイピングライブラリ、いろいろある。
? 鵑砲茲辰栃垢し屬韻襪帆爾い繁爾Α
? 繁議にはGoutteイチオシ。
? Composerでかんたんインスト`ル
? HTMLへの業の互さ
? CSSセレクタ & XPathセレクタのI圭が聞える。
? 秤鵑ださった峻ありがとうございます
KeyNote テンプレ`ト:
仝寄悶いい湖じになるKeynoteテンプレ`ト仝Azusa々恬った々http://memo.sanographix.net/post/82160791768
ありがとうございました
PHPerパワ`が音怎嶄
箔嶄の圭、フリ`の圭お蕗かけ棋ってます
iOSネイティブアプリ恬撹Webサ`ビス
http://appbuilder.jp
@tomzoh

More Related Content

スクレイヒ?ンク?その朔