サーバレスな汎用スクレイパーを作った。
以前SERVERLESS FRAMEWORKを紹介したんですが、 今回はSERVERLESS FRAMEWORKを使ってスクレイパーを作りました。
使い方
serverless deploy --stage production
でAWSにdeployして使います。
例: githubリポジトリのページからStar数を取ってくる。
/scrape? url=https://github.com/anoChick/basicscraper& query=.social-count.js-social-count& datatype=int
url
で対象ページを指定し、query
で対象のhtml要素を指定します。
datatype
をつかうとトリムされたり小数点を丸めたり出来ます。
response:
{ "datetime": "2016-11-27 05:56:14", "url": "https://github.com/anoChick/basicscraper", "result": { "query": ".social-count.js-social-count", "value": 0 } }
同一サイトに対して複数の要素を取得したい場合は、パラメータを配列にして渡すことも出来ます。 また、labelをつけることも可能です。
response:
{ "datetime": "2016-11-27 05:54:51", "url": "https://github.com/anoChick/basicscraper", "result": [ { "index": "0", "query": ".social-count.js-social-count", "value": 0, "label": "Star数" }, { "index": "1", "query": ".author", "value": "anoChick", "label": "Author" } ] } ## 次にやること ```/scrape```でスクレイピングの即時実行する機能が提供できました。 ```/schedule```などでジョブのスケジューリングなんかもやれたら良いなって思ってます。
ご利用は自己責任でお願いします。