2
3

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.

1行でウェブサイトをスクレイピングしてJSON化できるコマンドを作った

Last updated at Posted at 2019-04-17

できたもの

サンプル: qiitaの新着ページをスクレイピングしてjsonとして取得するコマンドです。

joでjsonを作成してjqで整形してます。

jo -B topics="$(jo -B title="$(jo -a .tr-Item_title text)" link=.tr-Item_title _unfold=true )" | xargs -0 kirinuki scrape -p https://qiita.com/ | jq .

qiita.gif

xargs -0 kirinuki scrape -p https://qiita.com/
部分が作ったコマンドになります。

できること

cssSelectorを値として書いたjsonで、データの加工処理なしにjsonを取得することができます。

記法について書いた過去記事

ocilif

過去記事がありました。
https://qiita.com/mokamoto/items/f70eaff72f795f1d7322

良さ

今回は使わなかった良さ

commanderとかつかってリッチなフィードバックを作ろうとすると、外部ライブラリ使うことになったりするので、さっと作りたい時最高だと思います。

puppetter

みんな大好きHeadless Chrome Node API

puppetterそのものを通常の依存関係にすると巨大なchromiumの実行ファイルをDLすることになるので、puppetter-coreを依存関係に追加するのみにしました。
オプションでchormeの実行パスを渡せるようにし、インストール済みchromeを使えるようにしています。
グローバルなどにインストールされたpuppetterがある場合そちらを参照しに行きます。

まとめ

定期的に監視したいページとか、jsonで取りたいページがあるときに使ってください。

2
3
0

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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?