# cheerio-httpcliでスクレイピングしてたらENOTFOUNDエラー
# ENOTFOUND エラー からの $ is not a function エラー
https://www.yoshida.red/sitemap.xmlから取得したURLを元に各ページからコンテンツを取ってくるプログラムを書いてたのだけど、
TypeError: $ is not a function
と言われてしまって cheerio-httpcli で fetch してきてるだけで、そもそも sitemap.xml は取ってこれてるわけでなんでだろうと。
とりあえず fetch してるところに👇を仕込んだところ、
if (err) { console.error(err); }
👇のようなエラーが出ていました。
Error: getaddrinfo ENOTFOUND yoshida.red
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:60:26) {
errno: 'ENOTFOUND',
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'yoshida.red',
url: 'https://yoshida.red/2019/10/27/my-first-vuepress-post/'
}
# 問題はルートドメインなアレだった…
wwwを付けてあげて👇したら、
var url = loc.replace( "yoshida.red", "www.yoshida.red" );
👇ブワーっと取れてきました。
ふぅ。
# vuePress-plugin-sitemapの設定
というか、プログラムでホゲホゲするより👇にwww付けてあげたらよかったのかな、と。。
[
'vuepress-plugin-sitemap',
{
hostname: 'https://www.yoshida.red'
}
],
ってことで、 $ yarn docs:build して、site.xml見てみたら👇無事にwwwが付いてるので大丈夫そうな予感がしてきました 😃