Yoshi.dev

技術系の趣味、またはやった仕事やそこから学んだことを忘れないために

技術日記

今週はスクレイピングのサンプルプログラム作ってた

言語はpythonかnodejsかで迷ったけど、将来外注も考えてる、日本はjavascriptユーザーのほうが多そう

ということでnodejsにしてみた

 

puppeteer試してみたけどかなり手軽に使い始められるなという印象

npm installするだけでスクレイピングの環境ができあがるというのは良かった

立ち上がりもサクサクしてた

chromium内蔵してるっぽい

ただブラウザがchrome限定というところがちょっと業務で使うには不安があったのでwebdriver使うことにした

webdriverもブラウザは自分で入れる必要あるけどそれ以外は

https://www.npmjs.com/package/selenium-webdriver

こいつ入れるだけだったので別に環境づくりはサクサクっと終わった

コンテナ化もとりあえずサンプルとして作るだけなら

https://hub.docker.com/r/selenium/standalone-chrome/

このイメージを元にnodejs入れればサクッと作れた

 

Serverlessでスクレイピング環境を作る予定だけど、現在Knativeを検討中

もともとk8sで他の部分を作っていたので、Serverlessの部分もKnative使えれば全体的にk8sで管理できていい感じになりそう

ただKnativeは結構リソース使うからdocker desktopで動かすのはきつめだった

 

 

 

graphql apiの設計レビュー会をやった

graphiqlでドキュメントみんなで見ながらレビュー出来るのいい感じだ

 

graphql javaでのdataloaderの実装がいまいちまだわかってない

dispatch()が自動で呼ばれない..

ただ現在の設計だとdataloader一旦後回しでも大丈夫そう