npm: https://www.npmjs.com/package/got
2023/1/8 12:07:00
got (https://github.com/sindresorhus/got)
2022/10/25 19:21:00
User-Agentを一般のコンピュータに偽装してクロールする輩User-Agentクローラdlt_crawler.jsgotdlt_crawler.js by t_w(https://towasys.com/)got (https://github.com/sindresorhus/got)デライトをクロールお行儀が悪いrobot.txtNode.js
あれ
2022/10/25 19:25:00
User-Agentを一般のコンピュータに偽装してクロールする輩が来て気になったのだが、私が動かしてるデライトをクロールするクローラ(dlt_crawler.js)のUser-Agentは何になってるんだろう。Node.jsでgotを使っているので、gotになっているはず……?
Node.jsでgotを使った際のUser-Agentはgot (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は設定されていないっぽい……?じゃあいいか……いいのか?
fetchoctpeppernode-fetchgotChromiumNode.js「There is currently no built-in caching, as server-side caching varies by use-cases.」
あれ
2023/1/8 12:11:00
Chromiumでfetchせずに、Node.jsでnode-fetch使えばいい気がしてきた。
と思ったら、「There is currently no built-in caching, as server-side caching varies by use-cases.」とのこと。ふぇぇ……
gotならいけそうな雰囲気がある。こっち使おう。