狠狠撸
Submit Search
2016 02-25-crawler-study-01
?
3 likes
?
2,018 views
Hiroshi Oyamada
Follow
クローラー开発勉强会の资料です
Read less
Read more
1 of 16
Download now
Download to read offline
More Related Content
2016 02-25-crawler-study-01
1.
2016年2月25日? 第1回クローラー開発勉強会 ファッション系ECサイト クローラー開発の苦労話
2.
自己紹介 ? 過去~現在のキャリア ? 派遣で6年程エンジニア&PM ?
正社員で8年ほどWeb系な人を対象にした キャリアコンサルタントを経験 ? 2014年7月~フリーランスでなぜかWeb系 のエンジニアをやってます。 (Rails4+AngularJS) ? クローラー開発について ? 趣味ベース ? クラフトビールの情報収集のためのクロー ラーをNode.js+いくつかのnpmモジュー ルでの開発 ? 仕事で ? ファッションECサイトの収集のためのクロー ラー開発をRuby/Rilsベースでの開発
3.
Agenda 1. ファッションECサイトの特徴 2. ファッションECサイトをどう 攻めるか? 3.
これまでの経験を踏まえてク ローラーで出来たこと?実現 出来てないこと
4.
1. ファッションECサイトの特徴 Photo By
Bruno Cordioli https://www.?ickr.com/photos/br1dotcom/4693813432/ ?リッチなUI ?推測しやすいURL ?画像が多い
5.
リッチなUI 例:WILD THINGS
6.
推測しやすいURL サイト名 カテゴリ:ジーンズ gu /jp/store/feature/gu/men/jeans/ ZOZOTOWN
/category/pants/denim-pants/ 女性の場合の URLは? ボトムス? パンツカテゴリの 一覧は? サイト名 商品詳細ページ NewBalance /products/newbalancejmjl6240sib.html GO OUT /item/15RZ0068.html 商品IDっぽい 商品IDっぽい
7.
画像が多い
8.
2. ファッションECサイトを? どう攻めるか? ? ボルダリングのようなもの ?
腕力に頼り過ぎない ? クローリングも腕力=技術に 頼り過ぎないようにする ? 頭を使うと意外と簡単なルー トが見つかる(かも??)
9.
リッチなUIのサイトの攻め方 ? リッチなUIを実現するためにJavaScriptを多用 ? 攻め方 ?
PCサイトが無理ならスマフォサイトを探す ? JavaScriptを多用してるならWebAPIで情報取得してるケースのは ずなのでAPIのエンドポイントを探す ? あるサイトでは? /xxx/ApiGetProductInfo.do?&product=[:product_id] という 感じでJSON取得できるのを発見 ? これ↑気になる人は後でお声がけください。個別に教えます
10.
サイトの攻め方 ? URLが推測しやすい→サイト全体の構造が把握し やすい ? 攻め方 ?
ZOZOTOWNの場合にはカテゴリ一覧の名前を どこかで取得できれば良さそう ? /category/[メインカテゴリ]/[サブカテゴリ]
11.
Photo by Sebastien
Wiertz via Flickr https://www.?ickr.com/photos/wiertz/4604140980/ これまでの経験を踏まえ てクローラーで出来たこ と?実現出来てないこと
12.
出来たこと:在庫情報のスク レイピング処理 tableタグ thタグ tdタグ 在庫情報 id/classセレクタ無い。。。。? サイズ?色?在庫のスクレイピングが とても面倒 1. 先頭のtrのchildrenのテキストを取得し文字列が空白でな い箇所をサイズとして配列に格納 2.
trを順番にループtdタグが含まれてる場合に詳細の処理を 行う 3. ループカウンター付きでtdを1つづつ処理 4. 上記3.のループカウンターの値を参照して現在処理中のセ ルを特定した上でサイズ、色、在庫の有無を格納 ① ② ③ ④
13.
出来たこと:画像取得含めたクローラーの アーキテクチャが考えられるようになった SiteA? Crawler SiteB? Crawler Redis MySQL Scraping? Worker
14.
相手サーバー 負荷 取得アイテム数 情報鮮 度 出来てないこと:? クローリングする上での最適なバランス 新 低 高 少 古 取得アイテム数 情報 鮮度 新 低 高 少 古 相手サーバー 負荷 相手のサーバー負荷を考慮しながら商品情報をたくさん 取得→
クローラーの実行頻度少ない状態なので取得さ れた情報が古くなりがち 商品情報をたくさん取得し、かつ、短い周期でクローラー を実行→ 相手のサーバーへのアクセス増えるため負荷高 くなる 多 多感覚的なものですがこの三角 形の面積は一定になる気がする? 3要素のうちの1つを犠牲にする 方針が必要なのかも
15.
出来てないこと:? 画像管理の最適な方法 Scraping? Worker ? ? VPSベース 懸念:画像転送量に 応じたお金 懸念:? 1. 運用コストが高くつきそう 2. 将来的にS3とかに移行した くなった場合のデータ移行
16.
ご清聴ありがとうござ いました
Download