73
67

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Go言語のスクレイピング系ライブラリまとめ

Last updated at Posted at 2016-02-29

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有り

#go-metainspector

  • 与えられた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

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年以上更新されていないので実利用はないですかね
73
67
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
73
67

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?