web通信
Ryosuke Igarashi
2014.08.06
agenda
- HTTP
- Ajax
- Web Socket
- Web RTC (HTML5)
http
- HTTP 1.1シンプルなHTTPの使い方
- リクエスト・レスポンス
- クライアントからサーバに対する要求
- 毎回、ページロードが発生
feature
-
24個のサーボモータや電子機器が内蔵
- 机で足ぶらりアイドルモード搭載
- BlueTooth搭載
- SNSやメール通知機能搭載
- AndroidやiOSで操作可能
- GooglePlayでモーションや音声をDL可能
What's the 'scraping'
スクレイピングとは、webサイトの要素を解析して必要な情報を取り出したり収集すること。
notice
- nokogiriはXPATHもCSS Selectorも使えるが、CSS Selectorを使う方がオススメ
- CSS SelectorはもともとCSSで定義され、jQueryなどにも使われるため利用機会が多い
- XPATHより見た目が簡潔で直感的に使える(好み?)
-
nokogiriの.css()や.xpath()でtbodyを含めると検索できない(バグ?)
- doc.xpath('//table/tbody')
- doc.css('table > tbody')
BASIC css selectors
- .(クラス)
- #(ID)
- A B(BはAの子孫要素)
- A > B(BはAの子要素)
- A + B(BはAに隣接している要素)
- A ~ B(BはAの後ろにある要素)
- A:nth-child(n)(Aのn番目の要素)
- A[name](Aのnameという属性を持つ要素)
- A[name=“value"](Aのnameという属性の値がvalueの要素)
- A[name^=“value"](Aのnameという属性の値がvalueで始まる要素)
- A[name$=“value"](Aのnameという属性の値がvalueで終わる要素)
-
A[name*=“value"](Aのnameという属性の値がvalueを含む要素)