t_wの輪郭

Nodemailer『how much time do you cost to build nodejs?』12時間経ちましたがiPad mini 6でのnode.jsのビルドが終わりません『Build Node.js from Source』got (https://github.com/sindresorhus/got)Passport.js の基本的な利用方法 (Node.js & Express)『Node.jsでTwitterAPIのリクエストトークンを取得』nodejsで開発/本番の設定を切り替える『【2023年4月版】Ubuntu に node.js と npm を入れたい(バージョン管理も)』EJS『Node.jsでSitemap.xml(XML)を返すだけ』『【Node.js Express】WebSocketを使ってみる( 全クライアントに一斉送信)』iSH ShellでNode.jsをソースコードからビルドしてインストールあれ『[Node.js] PM2を用いて本番環境でNodeJSアプリを動かす』puppeteer『Node.jsデザインパターン』NodeGuiあれnode_modulesWebContainerAmplifyでNext.js 14をビルドする方法Node.jsのunittestライブラリnode-fetchあれ『今年のうちに対応したい、Node.jsのBufferに潜む危険性』Node.jsのBufferの比較一部機能をNode.jsからD言語に移行するJSON.stringifyに大きいオブジェクトを渡すと、JSONに変換してくれない『大規模なデータをJSON.stringifyとBlobを使って保存しようとしたら,ブラウザがエラーを出すときの対処法』デライトでクローラーを回すデライトクローラExpress『Cloudflare Workers それは Frontend / Node.js が CDN Edge Side まで拡張されるもの』Next.js『nodemailerを使ってメール認証でのサインアップをNode.js express.jsで実装する。』あれPassport.jsあれ2022年12月3日日記AmplifyでNode.js 20を使う方法Node.js APIクロールを途中から再開できるようにしたあれデライト外部検索通類をデプロイしたデライト外部検索通類デライト外部検索通類 構成概要図

デライト外部検索通類AWSデプロイした。↓のリンクから利用できる
http://ec2-52-193-108-6.ap-northeast-1.compute.amazonaws.com:8080/
 
デライトクローラが取得した1万9千の輪郭から検索できる

  • 1秒未満で検索が完了する
  • 10個までしか検索結果が表示されない
    • ページャー未実装
  • 検索結果に重複がある
    • 重複を削除する処理が未実装
  • 見た目が悪い
    • CSS未実装
      • node.jsで直接HTMLを吐き出しているため、複雑なフロントエンドを作るのは手間がかかる
        • テンプレートエンジンなどに乗り換えたい
  • 検索結果の並びがクロールされた順番になっている
    • ページランクで並び変える機能が未実装
あれPuppeteerのようなブラウザ自動操作ツールをサーバ上で動かせばScrapboxへの書き込みを自動化できる。ただし、自分だけが使えるサービスになる。一旦はそれでいいかな。 公開されたサービスにして、広く利用してもらいたい気持ちがある。あれoctpepper『ヘッドレスブラウザ+Puppeteerが使える「Cloudflare Workers Browser Rendering API」がオープンベータに』dockerだとpuppeteerがいい感じに動いているWindows停止するあれconvert-svg-to-pngデライトでクローラーを回すpuppeteerでクロールする様子デライト外部検索通類をデプロイしたクロールを途中から再開できるようにしたあれ手書きデータの画像化デライト外部検索通類デライト外部検索通類 構成概要図
import "server-only";『[Next.js] 開発中のページを開発環境でのみ表示し、本番環境のビルドには含めないようにする』あれAmplifyでホスティングしたNext.jsにアクセスするとエラーが出るnext/headers『How can I cache something inside a variable in NextJS?』Next.js Conf 2022あれNext.jsをAWS Amplifyで動かすgetStaticPropsgetServerSidePropsAWS AmplifyでGo言語とNext.jsから成るアプリをビルドするアレApp RouterAmplifyへNext.js 14をデプロイするときに『unhandledRejection ReferenceError: Headers is not defined』と出るときの対策『Next.js公式のMDXプラグインで、Markdownでページを作る機能を試してみた』『Let's create a next.js app with bun』Server ActionsNext.jsとAmplifyでcognitoの認証を実装Next.jsで作りたいものAmplifyでNext.js 14をビルドする方法2023年11月17日日記あれ『Next.js × AWS App Runner × AWS AppSyncで進めるクライアントファーストのWEB開発』revalidateするServerActionunstable_cacheServerSideProps2023年11月24日日記🦜️🔗 LangChain Next.js Starter TemplateNext.jsでサーバーレスSentence Embeddingonnxに変換して量子化するコマンドNext.jsで環境変数を使ってIP制限2023年11月14日日記あれあれあれNext.jsではStatic Generation(SSG)が推奨されている2023年11月19日日記あれ
Passport.js の基本的な利用方法 (Node.js & Express)express.staticres.sendFile『Node.jsでSitemap.xml(XML)を返すだけ』『【Node.js Express】WebSocketを使ってみる( 全クライアントに一斉送信)』『ExpressでWebSocketを使う方法』express-ws『【Express】静的HTMLファイルの表示(res.sendFile()、express.static())』app.enableDeno 1.28.3ではExpressは動かない機能があるres.renderあれ『時代はDeno、node_modulesとおさらばだ、Denoでexpressサーバーを立ち上げる』あれapp.enable('trust proxy')trust proxy【Node.js】Expressのreq.protocolが常にhttpになってしまう問題『nodemailerを使ってメール認証でのサインアップをNode.js express.jsで実装する。』あれExpressでキャッシュを無効化する方法あれあれ

あれ

2022/10/25 19:25:00

 User-Agentを一般のコンピュータに偽装してクロールする輩が来て気になったのだが、私が動かしてるデライトをクロールするクローラdlt_crawler.js)のUser-Agentは何になってるんだろう。Node.jsgotを使っているので、gotになっているはず……?

 Node.jsgotを使った際のUser-Agentgot (https://github.com/sindresorhus/got)となっていた。実際にサーバにgotを通してアクセスし、アクセスログを確認した

 gotのレポジトリでuser-agentと検索してみると、headersという引数でUser-Agentを設定できそうだ。

headers: {
'user-agent': undefined
}

 とりあえず、dlt_crawler.js by t_w(https://towasys.com/)としておこう。こちらUser-Agentが反映されていることをサーバにアクセスして確認済みだ。

 コードは以下のようになった。

response = await got(url, {
    headers: {
        'user-agent': 'dlt_crawler.js by t_w(https://towasys.com/)'
    } 
});


 というかrobot.txtをガン無視しているのでお行儀が悪い気がしてきた。さらっと調べたらデライトにrobot.txtは設定されていないっぽい……?じゃあいいか……いいのか?