SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
第2回Webスクレイピング勉強会@東京
!
サイト/ブログから
本文抽出する方法
2014年8月17日
@dkfj 佐々木拓郎
✦ プロフィール
‣ Webシステムを得意とするSIerで勤務
‣ 最近の仕事はAWS事業の推進
‣ Webスクレイピングして、データマイニングするのが趣味
★ ソーシャル・ネットワーク
‣ blog: http://blog.takuros.net/
‣ twitter: @dkfj
‣ Facebook: takuro.sasaki
‣ SlideShare: http://www.slideshare.net/takurosasaki/
‣ http://www.justyo.co/TAKUROS/
@dkfj
自己紹介: 佐々木拓郎
主にJAWSUG大阪で活動しています
(AWS勉強会)
「Rubyによるクローラー開発技法」
Rubyのクローラー/スクレイピング本を
書きました。8月24日に発売予定です。
本日のテーマ
!
サイト/ブログから
本文抽出する方法
本日のテーマ
!
サイト/ブログから
本文抽出する方法
何故、必要なのか?
一般的なブログの構造
ブログ
タイトル
サイド
メニュー
ブログ
タイトル
サイド
メニュー
本文
記事
タイトル
ブログ
タイトル
サイド
メニュー
本文
記事
タイトル
欲しいのは、本文
サイト/ブログの本文抽出の目的
• 書かれている記事を読みたい
• コーパス/解析の元データとして利用したい
コーパスとは?
 コーパス(corpus)とは、言語学において、自然言語処理の
研究に用いるため、自然言語の文章を構造化し大規模に集積した
もの。構造化では言語的な情報(品詞、統語構造など)が付与さ
れる。コンピュータ利用が進み、電子化データとなった。
!
ウィキペディアより
自然文としてのブログの特徴
• 新聞に較べて、口語に近い単語/フレーズが出現する
• タグやカテゴリーなどのメタデータがあり、分類しやすい
• 投稿者の属性を、ある程度推定できる
  ex) 男性/女性、社会人/学生、10代、20代、30代
自然文としてのブログの特徴
• 新聞に較べて、口語に近い単語/フレーズが出現する
• タグやカテゴリーなどのメタデータがあり、分類しやすい
• 投稿者の属性を、ある程度推定できる
  ex) 男性/女性、社会人/学生、10代、20代、30代
わりと貴重なデータ
本文抽出の方法
• パーサーを利用して、HTML構造を分析しての抽出
• 自然言語処理を利用して、本文らしさを分析しての抽出
HTMLの構文解析
!
• 取得対象のHTMLの構文を分析して、本文を抽出
• いわゆるルール・ベース
  ex) HTMLのタグのidが、contentのものを取得
はてなブログの場合
entry-contentの中が
ブログ本文
HTMLの構文解析
メリット
• 正確に本文を抽出できる
• 比較的、(コンピュータリソースの)負荷が低い
デメリット
• ブログ種別ごとに、開発が必要
• 取得元のHTML構造の変更に弱い
nokogoriを使って取得
require 'open-uri'
require 'nokogiri'
!
html = open('http://blog.takuros.net/entry/
20140104/1388788175').read
!
doc = Nokogiri::HTML(html)
puts doc.xpath("//div[@class='entry-content']").text
• HTML/XMLの構文解析器(パーサー)
• ほぼデファクトスタンダード
• XPath or CSSセレクタで、HTML中の要素を選択
• UTF-8以外の文字コードを扱う場合は注意
require 'nokogiri'
require 'open-uri'
!
doc = Nokogiri.HTML(open("http://nokogiri.org/"))
doc.css('a').each do ¦element¦
puts element[:href]
end
参照:Ruby製の構文解析ツール、Nokogiriの使い方 with Xpath
http://blog.takuros.net/entry/2014/04/15/070434
自然言語処理を利用した本文抽出
• 文章内から本文らしい部分を抜き出す
• ヒューリスティック(経験則)
• 自分で一から実装するのは、割と大変
本文抽出モジュール
• ExtractContnt (Ruby)
• HTML::Extract (Perl)
• HTML-Feature (Perl)
• ExtractContnt/webextract.py (Python)
ExtractContentの実装
• html をブロックに分離、スコアの低いブロックを除外
• 評価の高い連続ブロックをクラスタ化し、クラスタ間でさ
らに比較を行う
• スコアは配置、テキスト長、アフィリエイトリンク、フッ
タ等に特有のキーワードが含まれているかによって決定
• Google AdSense Section Target ブロックには本文が記
述されているとし、特に抽出
自然言語処理を利用した本文抽出
メリット
• ブログ種別に依存しない
• 取得元のHTML変更に強い
デメリット
• 構文解析に比べると、精度が落ちる
• 比較的、(コンピュータリソースの)負荷が高い
nokogoriを使って取得
require 'extractcontent'
require open-uri'
!
html = open( 'http://blog.takuros.net/entry/
20140104/1388788175').read
!
content, title = ExtractContent.analyse(html)
puts title
puts content
まとめ
• 本文抽出の方法は、主に2種類
• どちらも一長一短あるので、用途に応じて使う
• 正確さを期すならば、HTMLの構文解析
  書かれている内容、そのものが必要な場合
• 厳密さがいならいのであれば、本文抽出モジュール
  コーパスや解析用の元データとして利用
今日の話は、
この辺に書いています
おまけ
キーワード抽出
• 辞書方式
• Mecabを利用した未知語抽出
おまけ その2
特徴語抽出
• TD/IDFが一般的
• Yahooのキーフレーズ抽出APIなどもあり
 http://developer.yahoo.co.jp/webapi/jlp/keyphrase/
v1/extract.html
ご清聴ありがとうございました
後日の質問は、@dkfjまで

Weitere ähnliche Inhalte

Was ist angesagt?

Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Yahoo!デベロッパーネットワーク
 
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
A100 GPU 搭載! P4d インスタンス使いこなしのコツA100 GPU 搭載! P4d インスタンス使いこなしのコツ
A100 GPU 搭載! P4d インスタンス 使いこなしのコツKuninobu SaSaki
 
脆弱性ハンドリングと耐える設計 -Vulnerability Response-
脆弱性ハンドリングと耐える設計 -Vulnerability Response-脆弱性ハンドリングと耐える設計 -Vulnerability Response-
脆弱性ハンドリングと耐える設計 -Vulnerability Response-Tomohiro Nakashima
 
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送Google Cloud Platform - Japan
 
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
ChatGPT + LlamaIndex 0  .6 による チャットボット の実装ChatGPT + LlamaIndex 0  .6 による チャットボット の実装
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装Takanari Tokuwa
 
昨今のストレージ選定のポイントとCephStorageの特徴
昨今のストレージ選定のポイントとCephStorageの特徴昨今のストレージ選定のポイントとCephStorageの特徴
昨今のストレージ選定のポイントとCephStorageの特徴Takuya Utsunomiya
 
SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向shigeki_ohtsu
 
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―shinjiigarashi
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例Naoya Kishimoto
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作るtorisoup
 
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...Takayoshi Tanaka
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?Takuya Ueda
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方増田 亨
 
[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介! 2018年11月15日 放送
[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介!  2018年11月15日 放送[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介!  2018年11月15日 放送
[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介! 2018年11月15日 放送Google Cloud Platform - Japan
 
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lttorisoup
 

Was ist angesagt? (20)

Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
 
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
A100 GPU 搭載! P4d インスタンス使いこなしのコツA100 GPU 搭載! P4d インスタンス使いこなしのコツ
A100 GPU 搭載! P4d インスタンス 使いこなしのコツ
 
脆弱性ハンドリングと耐える設計 -Vulnerability Response-
脆弱性ハンドリングと耐える設計 -Vulnerability Response-脆弱性ハンドリングと耐える設計 -Vulnerability Response-
脆弱性ハンドリングと耐える設計 -Vulnerability Response-
 
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
ChatGPT + LlamaIndex 0  .6 による チャットボット の実装ChatGPT + LlamaIndex 0  .6 による チャットボット の実装
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
 
Athenz + SPIFFE によるアクセス制御
Athenz + SPIFFE によるアクセス制御Athenz + SPIFFE によるアクセス制御
Athenz + SPIFFE によるアクセス制御
 
昨今のストレージ選定のポイントとCephStorageの特徴
昨今のストレージ選定のポイントとCephStorageの特徴昨今のストレージ選定のポイントとCephStorageの特徴
昨今のストレージ選定のポイントとCephStorageの特徴
 
SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向
 
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...20190604 Containerized MagicOnion on kubernetes with Observability with New R...
20190604 Containerized MagicOnion on kubernetes with Observability with New R...
 
UniRxHandsOnVol1
UniRxHandsOnVol1UniRxHandsOnVol1
UniRxHandsOnVol1
 
深層強化学習と実装例
深層強化学習と実装例深層強化学習と実装例
深層強化学習と実装例
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
 
[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介! 2018年11月15日 放送
[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介!  2018年11月15日 放送[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介!  2018年11月15日 放送
[Cloud OnAir] GCP で構築するデータ分析基盤の最新情報をご紹介! 2018年11月15日 放送
 
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
 

Mehr von Takuro Sasaki

JAWSUG初心者支部 AWSの勉強の仕方
JAWSUG初心者支部 AWSの勉強の仕方JAWSUG初心者支部 AWSの勉強の仕方
JAWSUG初心者支部 AWSの勉強の仕方Takuro Sasaki
 
Crawler for Non engineer
Crawler for Non engineerCrawler for Non engineer
Crawler for Non engineerTakuro Sasaki
 
JAWSUG architecture-crowler
JAWSUG architecture-crowlerJAWSUG architecture-crowler
JAWSUG architecture-crowlerTakuro Sasaki
 
Innovation eggcloudnative
Innovation eggcloudnativeInnovation eggcloudnative
Innovation eggcloudnativeTakuro Sasaki
 
Lambda認証認可パターン
Lambda認証認可パターンLambda認証認可パターン
Lambda認証認可パターンTakuro Sasaki
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Takuro Sasaki
 
Jawsug chiba API Gateway
Jawsug chiba API GatewayJawsug chiba API Gateway
Jawsug chiba API GatewayTakuro Sasaki
 
Rubyで操るAWS 第67回Ruby関西 勉強会
Rubyで操るAWS 第67回Ruby関西 勉強会Rubyで操るAWS 第67回Ruby関西 勉強会
Rubyで操るAWS 第67回Ruby関西 勉強会Takuro Sasaki
 
JAWS-UG初心者支部 AWS書籍活用術
JAWS-UG初心者支部 AWS書籍活用術JAWS-UG初心者支部 AWS書籍活用術
JAWS-UG初心者支部 AWS書籍活用術Takuro Sasaki
 
JAWSUG Kansai Simple Workflow Service (SWF)
JAWSUG Kansai Simple Workflow Service (SWF)JAWSUG Kansai Simple Workflow Service (SWF)
JAWSUG Kansai Simple Workflow Service (SWF)Takuro Sasaki
 
JAWSUG Osaka S3 CloudSearch
JAWSUG Osaka S3 CloudSearchJAWSUG Osaka S3 CloudSearch
JAWSUG Osaka S3 CloudSearchTakuro Sasaki
 
AWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピングAWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピングTakuro Sasaki
 
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップスScraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップスTakuro Sasaki
 
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerRubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerTakuro Sasaki
 
JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP
JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIPJAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP
JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIPTakuro Sasaki
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングTakuro Sasaki
 
Jawsug osaka10 service&regions
Jawsug osaka10 service&regionsJawsug osaka10 service&regions
Jawsug osaka10 service&regionsTakuro Sasaki
 
第9回Jawsug大阪 ServiceProviders 現場で使えるAWS付随サービス!!
第9回Jawsug大阪 ServiceProviders 現場で使えるAWS付随サービス!!第9回Jawsug大阪 ServiceProviders 現場で使えるAWS付随サービス!!
第9回Jawsug大阪 ServiceProviders 現場で使えるAWS付随サービス!!Takuro Sasaki
 
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用
第2回 JAWS−UG 神戸  開発運用の現場でのChef活用第2回 JAWS−UG 神戸  開発運用の現場でのChef活用
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用Takuro Sasaki
 

Mehr von Takuro Sasaki (20)

JAWSUG初心者支部 AWSの勉強の仕方
JAWSUG初心者支部 AWSの勉強の仕方JAWSUG初心者支部 AWSの勉強の仕方
JAWSUG初心者支部 AWSの勉強の仕方
 
Crawler for Non engineer
Crawler for Non engineerCrawler for Non engineer
Crawler for Non engineer
 
JAWSUG architecture-crowler
JAWSUG architecture-crowlerJAWSUG architecture-crowler
JAWSUG architecture-crowler
 
Innovation eggcloudnative
Innovation eggcloudnativeInnovation eggcloudnative
Innovation eggcloudnative
 
Lambda認証認可パターン
Lambda認証認可パターンLambda認証認可パターン
Lambda認証認可パターン
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
 
Jawsug chiba API Gateway
Jawsug chiba API GatewayJawsug chiba API Gateway
Jawsug chiba API Gateway
 
DevLove Kansai AWS
DevLove Kansai AWSDevLove Kansai AWS
DevLove Kansai AWS
 
Rubyで操るAWS 第67回Ruby関西 勉強会
Rubyで操るAWS 第67回Ruby関西 勉強会Rubyで操るAWS 第67回Ruby関西 勉強会
Rubyで操るAWS 第67回Ruby関西 勉強会
 
JAWS-UG初心者支部 AWS書籍活用術
JAWS-UG初心者支部 AWS書籍活用術JAWS-UG初心者支部 AWS書籍活用術
JAWS-UG初心者支部 AWS書籍活用術
 
JAWSUG Kansai Simple Workflow Service (SWF)
JAWSUG Kansai Simple Workflow Service (SWF)JAWSUG Kansai Simple Workflow Service (SWF)
JAWSUG Kansai Simple Workflow Service (SWF)
 
JAWSUG Osaka S3 CloudSearch
JAWSUG Osaka S3 CloudSearchJAWSUG Osaka S3 CloudSearch
JAWSUG Osaka S3 CloudSearch
 
AWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピングAWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピング
 
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップスScraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
 
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerRubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawler
 
JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP
JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIPJAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP
JAWS-UG三都物語2014 初心者向け Elasticity ELB/AutoScaling/EIP
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピング
 
Jawsug osaka10 service&regions
Jawsug osaka10 service&regionsJawsug osaka10 service&regions
Jawsug osaka10 service&regions
 
第9回Jawsug大阪 ServiceProviders 現場で使えるAWS付随サービス!!
第9回Jawsug大阪 ServiceProviders 現場で使えるAWS付随サービス!!第9回Jawsug大阪 ServiceProviders 現場で使えるAWS付随サービス!!
第9回Jawsug大阪 ServiceProviders 現場で使えるAWS付随サービス!!
 
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用
第2回 JAWS−UG 神戸  開発運用の現場でのChef活用第2回 JAWS−UG 神戸  開発運用の現場でのChef活用
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用
 

サイト/ブログから本文抽出する方法