Submit Search
Upload
Webクローリング&スクレイピングの最前線 公開用
•
Download as PPTX, PDF
•
176 likes
•
78,403 views
Lumin Hacker
Follow
web crawler and scraping
Read less
Read more
Technology
Report
Share
Report
Share
1 of 37
Download now
Recommended
実践スクレイピング
実践スクレイピング
だいすけ ふるかわ
Python と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめる
Shuhei Iitsuka
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
Hironori Sekine
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Katsuhiro Morishita
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
Hiroshi Funai
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
mosa siru
Recommended
実践スクレイピング
実践スクレイピング
だいすけ ふるかわ
Python と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめる
Shuhei Iitsuka
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
Hironori Sekine
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Katsuhiro Morishita
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
Hiroshi Funai
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
mosa siru
Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門
Takami Sato
Jupyter Notebookでscikit-learnを使った機械学習・画像処理の基本
Jupyter Notebookでscikit-learnを使った機械学習・画像処理の基本
Norihiko Nakabayashi
Py datameetup1
Py datameetup1
shiroyagi
pythonでオフィス快適化計画
pythonでオフィス快適化計画
Kazufumi Ohkawa
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
2bo 2bo
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
Kazufumi Ohkawa
日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくる
Yuta Kashino
パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
Pony concurrency built into the type system
Pony concurrency built into the type system
matsu_chara
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Tokoroten Nakayama
AngularJS+TypeScript - AngularJS 1周年記念勉強会
AngularJS+TypeScript - AngularJS 1周年記念勉強会
Masahiro Wakame
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
Retrieva inc.
第3回メドレー読書会後半
第3回メドレー読書会後半
Kazuhiro Himoto
「深層学習」の本に出てきたデータセット達
「深層学習」の本に出てきたデータセット達
Hiromasa Ohashi
数理最適化とPython
数理最適化とPython
Yosuke Onoue
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
Aki Ariga
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
Kouhei Sutou
14対話bot発表資料
14対話bot発表資料
Keiichirou Miyamoto
PyAutoGUI等Pythonライブラリによる自動化支援
PyAutoGUI等Pythonライブラリによる自動化支援
H Iseri
Tour of Scraping
Tour of Scraping
Kenta Yonekura
BootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみた
BeMarble
More Related Content
What's hot
Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門
Takami Sato
Jupyter Notebookでscikit-learnを使った機械学習・画像処理の基本
Jupyter Notebookでscikit-learnを使った機械学習・画像処理の基本
Norihiko Nakabayashi
Py datameetup1
Py datameetup1
shiroyagi
pythonでオフィス快適化計画
pythonでオフィス快適化計画
Kazufumi Ohkawa
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
2bo 2bo
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
Kazufumi Ohkawa
日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくる
Yuta Kashino
パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
Pony concurrency built into the type system
Pony concurrency built into the type system
matsu_chara
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Tokoroten Nakayama
AngularJS+TypeScript - AngularJS 1周年記念勉強会
AngularJS+TypeScript - AngularJS 1周年記念勉強会
Masahiro Wakame
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
Retrieva inc.
第3回メドレー読書会後半
第3回メドレー読書会後半
Kazuhiro Himoto
「深層学習」の本に出てきたデータセット達
「深層学習」の本に出てきたデータセット達
Hiromasa Ohashi
数理最適化とPython
数理最適化とPython
Yosuke Onoue
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
Aki Ariga
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
Kouhei Sutou
14対話bot発表資料
14対話bot発表資料
Keiichirou Miyamoto
PyAutoGUI等Pythonライブラリによる自動化支援
PyAutoGUI等Pythonライブラリによる自動化支援
H Iseri
What's hot
(20)
Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門
Jupyter Notebookでscikit-learnを使った機械学習・画像処理の基本
Jupyter Notebookでscikit-learnを使った機械学習・画像処理の基本
Py datameetup1
Py datameetup1
pythonでオフィス快適化計画
pythonでオフィス快適化計画
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくる
パッケージングの今と未来
パッケージングの今と未来
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Pony concurrency built into the type system
Pony concurrency built into the type system
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
AngularJS+TypeScript - AngularJS 1周年記念勉強会
AngularJS+TypeScript - AngularJS 1周年記念勉強会
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
第3回メドレー読書会後半
第3回メドレー読書会後半
「深層学習」の本に出てきたデータセット達
「深層学習」の本に出てきたデータセット達
数理最適化とPython
数理最適化とPython
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
MySQLとPostgreSQLと日本語全文検索 - Azure DatabaseでMroonga・PGroongaを使いたいですよね!?
14対話bot発表資料
14対話bot発表資料
PyAutoGUI等Pythonライブラリによる自動化支援
PyAutoGUI等Pythonライブラリによる自動化支援
Viewers also liked
Tour of Scraping
Tour of Scraping
Kenta Yonekura
BootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみた
BeMarble
伝わるプレゼンをする方法
伝わるプレゼンをする方法
Hideaki Miyake
プレゼンの基本
プレゼンの基本
Hiroyuki Nagataki
プレゼンテーションの考え方20140628
プレゼンテーションの考え方20140628
Professional University of Information and Management for Innovation (情報経営イノベーション専門職大学)
綺麗なプレゼン資料の作り方、10のテクニック
綺麗なプレゼン資料の作り方、10のテクニック
Manabu Uekusa
魅せるPowerPointビジネスプレゼン【実践編】
魅せるPowerPointビジネスプレゼン【実践編】
schoowebcampus
良いプレゼン 良いスライド
良いプレゼン 良いスライド
京大 マイコンクラブ
素敵なプレゼン資料を作るためのKnow-Howてんこ盛りセッション:プレゼン道場 Ver 2.2
素敵なプレゼン資料を作るためのKnow-Howてんこ盛りセッション:プレゼン道場 Ver 2.2
Shoe-g Ueyama
しょぼいプレゼンをパワポのせいにするな! by @jessedee
しょぼいプレゼンをパワポのせいにするな! by @jessedee
「MakeLeaps」請求書の作成、管理、郵送
ビジネスマン必見!キレイな提案書を作るためのデザインの基礎知識
ビジネスマン必見!キレイな提案書を作るためのデザインの基礎知識
Tsutomu Sogitani
色彩センスのいらない配色講座
色彩センスのいらない配色講座
Mariko Yamaguchi
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
MOCKS | Yuta Morishige
Viewers also liked
(13)
Tour of Scraping
Tour of Scraping
BootstrapとRailsで、 高速にWebサイトを作ってみた
BootstrapとRailsで、 高速にWebサイトを作ってみた
伝わるプレゼンをする方法
伝わるプレゼンをする方法
プレゼンの基本
プレゼンの基本
プレゼンテーションの考え方20140628
プレゼンテーションの考え方20140628
綺麗なプレゼン資料の作り方、10のテクニック
綺麗なプレゼン資料の作り方、10のテクニック
魅せるPowerPointビジネスプレゼン【実践編】
魅せるPowerPointビジネスプレゼン【実践編】
良いプレゼン 良いスライド
良いプレゼン 良いスライド
素敵なプレゼン資料を作るためのKnow-Howてんこ盛りセッション:プレゼン道場 Ver 2.2
素敵なプレゼン資料を作るためのKnow-Howてんこ盛りセッション:プレゼン道場 Ver 2.2
しょぼいプレゼンをパワポのせいにするな! by @jessedee
しょぼいプレゼンをパワポのせいにするな! by @jessedee
ビジネスマン必見!キレイな提案書を作るためのデザインの基礎知識
ビジネスマン必見!キレイな提案書を作るためのデザインの基礎知識
色彩センスのいらない配色講座
色彩センスのいらない配色講座
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
Similar to Webクローリング&スクレイピングの最前線 公開用
クローリングしにくいものに挑戦 公開用
クローリングしにくいものに挑戦 公開用
Lumin Hacker
WebRTCとSFU
WebRTCとSFU
Saki Homma
Opa - Cloud Language
Opa - Cloud Language
Tozo Tanaka
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記
Yoshiyuki Nakamura
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
Yusuke Naka
Webrtc最新動向
Webrtc最新動向
Yusuke Naka
はじめてのWeb of Things
はじめてのWeb of Things
Saki Homma
パケットキャプチャとIoT
パケットキャプチャとIoT
cloretsblack
Embedded Webで加速するWeb of Things
Embedded Webで加速するWeb of Things
Futomi Hatano
A 2a:アジャイルなオフショア開発
A 2a:アジャイルなオフショア開発
Arata Fujimura
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
Masahiro Kiura
作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...
作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...
whywaita
Draft: Observability, Service Mesh and Microservices
Draft: Observability, Service Mesh and Microservices
Taiki
Ingress on GKE/GCE
Ingress on GKE/GCE
shouta yoshikai
Chromeでストレージ永続化を実現するには
Chromeでストレージ永続化を実現するには
goccy
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
日本マイクロソフト株式会社
Blockchain EXE #12:海外遠征を含む最新事情共有(茂谷 保伯 | KDDI)
Blockchain EXE #12:海外遠征を含む最新事情共有(茂谷 保伯 | KDDI)
blockchainexe
45分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 2012
Yukio Saito
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
Kensaku Komatsu
Data channelの活用方法とその可能性 - WebRTC Conference Japan
Data channelの活用方法とその可能性 - WebRTC Conference Japan
Shintaro Tanaka
Similar to Webクローリング&スクレイピングの最前線 公開用
(20)
クローリングしにくいものに挑戦 公開用
クローリングしにくいものに挑戦 公開用
WebRTCとSFU
WebRTCとSFU
Opa - Cloud Language
Opa - Cloud Language
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
Webrtc最新動向
Webrtc最新動向
はじめてのWeb of Things
はじめてのWeb of Things
パケットキャプチャとIoT
パケットキャプチャとIoT
Embedded Webで加速するWeb of Things
Embedded Webで加速するWeb of Things
A 2a:アジャイルなオフショア開発
A 2a:アジャイルなオフショア開発
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...
作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...
Draft: Observability, Service Mesh and Microservices
Draft: Observability, Service Mesh and Microservices
Ingress on GKE/GCE
Ingress on GKE/GCE
Chromeでストレージ永続化を実現するには
Chromeでストレージ永続化を実現するには
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
Blockchain EXE #12:海外遠征を含む最新事情共有(茂谷 保伯 | KDDI)
Blockchain EXE #12:海外遠征を含む最新事情共有(茂谷 保伯 | KDDI)
45分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 2012
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
Data channelの活用方法とその可能性 - WebRTC Conference Japan
Data channelの活用方法とその可能性 - WebRTC Conference Japan
More from Lumin Hacker
柏の葉キャンパス アクアテラス環境モニタリング
柏の葉キャンパス アクアテラス環境モニタリング
Lumin Hacker
モバイルバッテリーをArduino io tで使う方法
モバイルバッテリーをArduino io tで使う方法
Lumin Hacker
Public MQTT
Public MQTT
Lumin Hacker
組織にばれない情報漏洩の手法
組織にばれない情報漏洩の手法
Lumin Hacker
クラウド事業者のためのクラウドセキュリティ(公開用)
クラウド事業者のためのクラウドセキュリティ(公開用)
Lumin Hacker
Androidアプリ解析の基礎 公開用
Androidアプリ解析の基礎 公開用
Lumin Hacker
Androidアプリ内蔵広告 徹底解析 公開用
Androidアプリ内蔵広告 徹底解析 公開用
Lumin Hacker
クラウドアプリケーション開発に必要なセキュリティ
クラウドアプリケーション開発に必要なセキュリティ
Lumin Hacker
クラウド移行で解決されるセキュリティとリスク 公開用
クラウド移行で解決されるセキュリティとリスク 公開用
Lumin Hacker
クラウド移行で解決されるセキュリティとリスク
クラウド移行で解決されるセキュリティとリスク
Lumin Hacker
More from Lumin Hacker
(10)
柏の葉キャンパス アクアテラス環境モニタリング
柏の葉キャンパス アクアテラス環境モニタリング
モバイルバッテリーをArduino io tで使う方法
モバイルバッテリーをArduino io tで使う方法
Public MQTT
Public MQTT
組織にばれない情報漏洩の手法
組織にばれない情報漏洩の手法
クラウド事業者のためのクラウドセキュリティ(公開用)
クラウド事業者のためのクラウドセキュリティ(公開用)
Androidアプリ解析の基礎 公開用
Androidアプリ解析の基礎 公開用
Androidアプリ内蔵広告 徹底解析 公開用
Androidアプリ内蔵広告 徹底解析 公開用
クラウドアプリケーション開発に必要なセキュリティ
クラウドアプリケーション開発に必要なセキュリティ
クラウド移行で解決されるセキュリティとリスク 公開用
クラウド移行で解決されるセキュリティとリスク 公開用
クラウド移行で解決されるセキュリティとリスク
クラウド移行で解決されるセキュリティとリスク
Recently uploaded
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Recently uploaded
(7)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Webクローリング&スクレイピングの最前線 公開用
1.
WEBクローリング& スクレイピングの最前線 ほこ×たてで語られなかった5万枚画像の真 実 ネットエージェント株式会社 杉浦 隆幸 1
2.
about me • 杉浦
隆幸 • ネットエージェント株式会社 代表取締役 • PacketBlackHole, OnePointWall, 防人, secroidの原開発者 • CTFチャレンジジャパン 経済産業省主催のCTF(ハッキングの技術 大会)優勝メンバー (Agent IV) • Winnyの暗号解読に初めに成功 • TVニュース番組での事件解説多数 • 第4回 IPA賞受賞 • 2010年に政府の情報保全検討委員 • など 2
3.
Agenda • クローリング • 概要・リスク・レベル・対策・対策の対策 •
スクレイピング • 環境・実例 • 応用例 • secroid • easy webscrap • zip de kure • P2P 公開用は一部情報を削減しています。 3
4.
クローラ crawler 4
5.
クローラ • ブラウザはURLをページに変える。 • クローラはURLをHTMLデータに変える。 •
自動的にリンクを辿るや連番などにより1つ以上の情報 を取得する。 • 周期的に訪問するものもある。 • 最初以外は人を介さずに自動的に動作する。 • 検索エンジンや、特定の情報解析用、データ収集、メー ルアドレス収集などに用いられる。 5
6.
昨今のクローリング事情 • goo(NTT系)がGoogleへの検索エンジン乗り換え 2003年 •
情報大航海プロジェクト 2005~2010年 • 検索エンジンを国策で支援 • 著作権法改正 2009年 • 検索エンジン・情報解析の合法化 • Librahack事件 2010年 • 図書館のWebをクローリングしていたら逮捕される • Yahoo Japan が Google検索エンジン乗り換え 2010年 • Google検索の国内シェアが98%に • NSAのPRISMが話題になる 2013年 6
7.
クローラのリスク • 秘孔をつくクローリング • 多大な負荷を伴うクエリーを発行 •
2010年 Librahack事件 (偽計業務妨害で起訴猶予) http://librahack.jp/ • 深すぎるクローリング • 全く拘束力がない robots.txtを守ろう (著作権法の改正で拘束力を持った?) • ブラウジングならrobots.txtを守らなくて良い? • 無限再帰的URLの存在 • 利用禁止措置を食らう • 同時接続数制限 • IP BAN, AS BAN • 高速すぎ並列すぎるクローリング • 1 page/秒を超えない早さで • HTTP/1.1 で keep alive • 某中国企業によるクローリング • 著作権侵害リスク • 検索機能の提供か情報解析が必要(平成 21 年著作権法改正) • 詳しくは著作権法の専門家にどうぞ 7
8.
http://dic.nicovideo.jp/a/ban 8
9.
クローラレベル • 1 wget •
2 UAをブラウザに • 3 Cookie対応、referer対応 • 4 リクエスト全てをブラウザと同じに • 5 リクエスト全てをブラウザと同じに+Cookie対応 • 6 IPアドレスを短周期で変える • 7 ブラウザでクローリングする • 8 アクセスタイミングをランダマイズする • 9 人間がアクセスした内容をパケットから再現 • 10 人間のアクセスパターンでブラウザ自動制御 レベルを上げるたび により人間らしく。 注) 当社基準 9
10.
まず、wgetから始めよ • 多くのLinux環境、MacOSと、Cygwin,Windows版で利用 できるCUIのダウンロードソフト • wget
–r –l 5 –h http://www.yahoo.co.jp/ などコマンドライ ンで再帰的にもダウンロード可能なクローラ。robots.txt 対応。 10
11.
UA (UserAgent) • HTTP
リクエストヘッダに含まれる。何を使ってアクセ スしているのかを示すヘッダ。利用OSやブラウザの名前、 バージョン名を含むことも多いので、ユーザの識別にも 使われている。 • 例: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36 • 参考: http://www.openspc2.org/userAgent/ • ガラケーはここに、個体番号があったりと個体識別で多くの問題を 生んだ。 11
12.
referer • HTTPリクエストヘッダのひとつ。リンク元のWebページ を示すURL。 • URLリストからダイレクトにダウンロードしていると、 refererがないと通常の手順でダウンロードしていないと してエラーを返すようにできる。 •
サンプル • Referer: http://www.example.co.jp/ 12
13.
何種類かクローリングをしてみま しょう • wget • wget
+ UA • LWP • phantomjs • firefox+mozrepl+tcpproxy 13
14.
クローリングの難しい条件 • TLS/SSL (以下SSL) •
HTTP Proxy+SSL • Socks • Socks Proxy + SSL • Tor • Tor + SSL • SPDY • SPDY Proxy + SPDY • Tor + SPDY ・言語の実装に対して、Proxyの対応状況 が悪い場合がおおい。 ・SPDYなどの新しいプロトコルは実装さ れてないことも多い。 ・SSLを使う上で便利なSOCKSも限定対 応の場合も。 14
15.
Tor https://www.torproject.org/ http://ja.wikipedia.org/wiki/Tor 15
16.
SPDY • Googleの開発した次世代のHTTPプロトコルの候補。SSL 通信上で作成されているので、SSL対応が必須。表示が 早くなりそうな名前であるが、大抵の場合は、サイトア クセスの構成を見直すなど先にやることがある。マシン 台数が多く転送量が多く常時SSLで限界まで最適化した 場合のみ恩恵にあやかれるらしい。 • Googleやtwitterが対応している。 16
17.
クローラ対策 • capcha • cookie •
多重アクセス検出 • 同一IPアドレス多量アクセス検出 • UA指定 • robots.txt • ログイン要求 • JavaScriptでセッションキー生成 17
18.
18 諸 般 ノ
事 情 ニ ヨ リ 非 公 開
19.
19 諸 般 ノ
事 情 ニ ヨ リ 非 公 開
20.
スクレイピング scraping 20
21.
環境の整った言語 • Perl • Web::Scraper •
HTML::TreeBuilder • Python • Ruby • WSH (Windows Script Host) • jQuery • and more middle wares • http://www.scrapy.org/ • http://nokogiri.org/ 21
22.
スクレイピング方法 (1/2) • 意外とスクレイピングコストは高い •
grepタイプ(簡単・軽い) • grepで正規表現で抽出 • 行単位処理で正規表現で抽出 • コマンド grep or egrepを使う • wget -O - 'http://hamusoku.com/archives/7927364.html' |grep blogimg|sed 's/.* src="//g'|sed 's/" .*//g' • コンピュータ言語内で正規表現を使う • cat te.html|perl -e '$/="<";while(<STDIN>){$_=~/href="(.*)?"/;print $1,"n";}' 22
23.
スクレイピング方法 (2/2) • HTML構文解析(重い・正確) •
CSS のシンタックス (Chromeでデモを交えて解説) • XPath • ツリー構造のアドレスで判定 23
24.
XPath (HTML文書における) • HTMLをXML文書として、 階層構造で特定部分を示す ための構文。 •
例: • html/body/p/a • //*[@id="poptoc"]/ol/li[7]/a http://ja.wikipedia.org/wiki/XML_Path_Language 24
25.
実際にやってみる • scraper http://hoge.example.com/ 25
26.
応用例 クローラ×スクレイピン グ application 26
27.
• Androidアプリのリスクレベル判定+検索エンジン • Androidアプリ情報とアプリのクローラー •
Google Play のアプリの情報分析、検索機能を提供 • 勝手マーケットやウイルスも検索対象 27
28.
日本 GW 米国 Proxy Google Play (SSL or
SPDY) 日本公開 サーバ 米国公開 サーバ 他マーケット (HTTP) 評価用サーバ・インデクサ・スト レージ・DB・クローラ群 28
29.
ほこ×たて(対戦用) • 画像検索ダウンローダー • 対象:google,yahoo,naver
の画像検索 • Googleの類似画像検索は役に立たなかった。 • Googleのクローラ対策を抜けるためにレベル5のクロー ラで検索。 • 画像ダウンロードはリスト化後12並列処理でwgetを利用。 29
30.
各サイト専用クロー ラ ・ Google 画像検索 ・
Yahoo画像検索 ・ NAVER画像検索 検索文字列リスト× 5万超のURLリスト 各サイト用、実体URL抽出スクリプ ト sort | uniq リストを12分割 12プロセスのwgetでダウンロード 0:15 プログラム作成と 検索文字列の作成 0:45 ダウンロード完了 地域人名フォルダ作成&リネーム&タイムスタンプ変更&EXIF加工 30
31.
easy webscrap (商用サービス) •
定点観測用Webscraper • Webインターフェイスで、GUIで選ぶことにより取り出 し範囲が容易に決定できる。 • 定期的にランキング取得・定点監視に • モバイルからPCまでの画面サイズに応じて表示可能。 • CSVで出力可能 • 技術者ではない派遣のオネイサンがメインで使っていま す。 • 開発元 ネットエージェント株式会社 大阪支社 31
32.
32 ・素人でも利 用でき、GUIで 範囲を決めら れるのがポイ ント。
33.
日付 会員数 2013/6/1 21310 2013/6/2
21547 2013/6/3 21784 2013/6/4 22021 2013/6/5 22258 2013/6/6 22495 2013/6/7 22732 2013/6/8 22969 2013/6/9 23206 2013/6/10 23443 2013/6/11 23680 2013/6/12 23917 2013/6/13 24154 2013/6/14 24391 2013/6/15 24628 2013/6/16 24865 2013/6/17 25102 2013/6/18 25339 2013/6/19 25576 2013/6/20 25813 33 ・管理画面より、取りたい場所を 指定。 ・定期的に値を取得し統計データ として活用。
34.
zip de kure •
ブログの画像をzipにまとめてダウンロードできる。zipを 要求する麻呂のためのクローラ。 34
35.
http://livedoor.blogimg.jp/hamusoku/imgs/a/8/a8a3cd59.jpg http://livedoor.blogimg.jp/hamusoku/imgs/9/d/9dc246dd.jpg http://livedoor.blogimg.jp/hamusoku/imgs/4/5/45987d80.jpg http://livedoor.blogimg.jp/hamusoku/imgs/f/b/fb59814c.jpg http://livedoor.blogimg.jp/hamusoku/imgs/0/1/0125d552.jpg http://livedoor.blogimg.jp/hamusoku/imgs/5/a/5a7f0ed6-s.jpg http://livedoor.blogimg.jp/hamusoku/imgs/b/1/b1d554dc-s.jpg http://livedoor.blogimg.jp/hamusoku/imgs/9/d/9da77340-s.jpg http://livedoor.blogimg.jp/hamusoku/imgs/6/a/6afc7bec.jpg http://livedoor.blogimg.jp/hamusoku/imgs/5/0/50d2e80e.jpg http://livedoor.blogimg.jp/hamusoku/imgs/1/b/1b27b468.jpg http://livedoor.blogimg.jp/hamusoku/imgs/9/4/9493aff2.jpg http://livedoor.blogimg.jp/hamusoku/imgs/5/d/5d29c13f.jpg http://livedoor.blogimg.jp/hamusoku/imgs/7/3/731430d7.jpg http://livedoor.blogimg.jp/hamusoku/imgs/2/4/24d46578.jpg http://livedoor.blogimg.jp/hamusoku/imgs/2/2/222c8d66.jpg http://livedoor.blogimg.jp/hamusoku/imgs/2/f/2ff65a68.jpg http://livedoor.blogimg.jp/hamusoku/imgs/3/6/3678b0d2.jpg http://livedoor.blogimg.jp/hamusoku/imgs/d/f/dfc4bcb9.jpg http://livedoor.blogimg.jp/hamusoku/imgs/6/8/683a79b0.jpg http://livedoor.blogimg.jp/hamusoku/imgs/7/b/7bd7a11b.jpg http://livedoor.blogimg.jp/hamusoku/imgs/d/1/d11b162c.jpg http://livedoor.blogimg.jp/hamusoku/imgs/c/d/cd67355e.jpg http://livedoor.blogimg.jp/hamusoku/imgs/1/b/1b8c6fcc.jpg http://livedoor.blogimg.jp/hamusoku/imgs/b/7/b744d6cb.jpg http://livedoor.blogimg.jp/hamusoku/imgs/4/1/41d7ae79.jpg http://livedoor.blogimg.jp/hamusoku/imgs/a/8/a8263966.jpg http://livedoor.blogimg.jp/hamusoku/imgs/2/d/2d932d75.jpg http://livedoor.blogimg.jp/hamusoku/imgs/b/4/b4d324bd.jpg http://livedoor.blogimg.jp/hamusoku/imgs/4/5/459322c9.jpg http://livedoor.blogimg.jp/hamusoku/imgs/0/a/0a449457.jpg http://livedoor.blogimg.jp/hamusoku/imgs/0/d/0d8453b4.jpg http://livedoor.blogimg.jp/hamusoku/imgs/3/2/32790199.jpg http://livedoor.blogimg.jp/hamusoku/imgs/9/b/9b69ba8b.jpg http://livedoor.blogimg.jp/hamusoku/imgs/4/e/4e36cbb8.jpg http://livedoor.blogimg.jp/hamusoku/imgs/5/c/5c5afa12.jpg http://livedoor.blogimg.jp/hamusoku/imgs/7/d/7ddb24cc.jpg http://livedoor.blogimg.jp/hamusoku/imgs/e/c/ec53246c.jpg http://livedoor.blogimg.jp/hamusoku/imgs/e/4/e492e53e.gif http://livedoor.blogimg.jp/hamusoku/imgs/7/f/7ff66a59.gif http://livedoor.blogimg.jp/hamusoku/imgs/f/1/f1b4d0c2.gif http://livedoor.3.blogimg.jp/hamusoku/imgs/9/5/95cc4809.jpg http://livedoor.blogimg.jp/hamusoku/imgs/d/b/db83dea8.gif GET and Zip 35
36.
P2Pクローラ • Winny • Share •
PerfectDark • Limewire/Cabos • BitTorrent • P2Pは主としてClosed プロトコルのクローリング • 自律分散型 36
37.
37 http://www.netagent.co.jp/
Download now