Go言語のスクレイピング系ライブラリまとめ
Goでスクレイピングしようと思い、ライブラリを探していた際に行き当たったパッケージをまとめます。
調査段階なので一部しか利用はしておらず、実際の使い勝手等はわからないです。後々ピックアップして試していきますが、オススメがあればご意見ください!
scrape
-
A simple, higher level interface for Go web scraping.
って。その物言い嫌いじゃない。 - 2015/06/25から更新されていないがStarは一番多い(2016/03/01現在)
- Find,Attr,Textがあるので王道的な感じがします
- godoc有り
goquery
- jQueryに近しい構文と使い勝手が実現できる
- net/htmlとcascadiaをつかっているみたいでJSerとしては相性が良さそう
- いろんなライブラリで使われているライブラリでした
- godoc有り
- 与えられたURLにアクセスしてmeta情報を取得するライブラリ
- URL、Scheme、Host、Root、Title、Language、Author、Description、Charset、Feed、Links、Images、Keywords、Compatibilityを取得する関数が用意されている
- CLIでも提供されているのでバッチ作る際に重宝しそう
- Webでgo-metainspectornのサンプルが公開されているので簡単に利用イメージがつかめます
- godocあり
Spider
- HTMLParserはgoqueryを利用しているが、スケジューラー機能が付いているのが特徴的
- 定期的に巡回する用途であれば使えそう
- godoc有り
go-html-transform
- Extract links from a web page using Go langでメンテされているし良いよと紹介されてました
- BitBucketを見ると2015/12/08で更新が止まっている様子(2016/03/01現在)
dockerstats
- Webスクレイピングではなく、Docker Stats API を利用してリソース情報の収集を行うライブラリ
- cAdvisorをものすごくシンプルにしたものと書いてありました
web-scraping-example
- jsonでconfigを書いてそれを基に対象のページからgoqueryを内部で利用してパースして画像を取得するライブラリ
- READMEに書いてある情報は少ないですがものすごくシンプルですぐに使えそうです
- サンプルでラブライブの画像をスクレイピングしているあたりが日本人っぽくて親近感を覚えます
newsbot
- Goとgopherjsで書かれたライブラリらしくTwitterのフィード監視と抽出ができるらしい
- Webスクレイピングもできると書いてあったがリファレンスが見当たらず、わからなかったです
goatscrape
- PythonのWebスクレイピングフレームワークのScrapyに触発されて作ったらしいGo言語製のWebスクレイピング、クローリングツールと書いてあるが、、、
- ToDoが多い
-
goatscrape is currently very alpha.
とか書いてある。実際、1年以上更新されていないので実利用はないですかね