<prompt> Tekeleza kichakachuaji cha wavuti cha JavaScriptNode.js ambacho huchota maelezo mahususi kutoka kwa tovuti fulani na kuyahifadhi katika hifadhidata ya SQLite. Kibao kinapaswa kuwa na uwezo wa kushughulikia utaftaji na kutoa data kulingana na viteuzi vya CSS au misemo ya XPath.  <response>: Ili kuunda kiboreshaji cha wavuti katika JavaScriptNode.js, unaweza kutumia maktaba zifuatazo:1. axios ya kufanya maombi ya HTTP2. cheerio kwa kuchanganua na kuendesha hati za HTML kwa kutumia viteuzi vya CSS3. sqlite3 kwa kufanya kazi na hifadhidata za SQLiteKwanza, sakinisha maktaba hizi kwa kuendesha:bashinpm kufunga axios cheerio sqlite3Sasa, unda faili mpya inayoitwa scraper.js na uongeze nambari ifuatayo: javascriptconst axios hitajiaxios;const cheerio hitajicheerio;const sqlite3 needsqlite3.verbose; Bainisha URL ya msingi ya tovuti ya kukwanguaconst baseURL Bainisha kiteuzi cha CSS au usemi wa XPath ili kutoa dataconst dataSelector .data-class; Badilisha hii na kiteuzi chako cha CSS unachotaka au usemi wa XPath Unda hifadhidata mpya ya SQLiteconst db new sqlite3.Database.scraped_data.db, err ikiwa makosa console.errorerr.message; console.logImeunganishwa kwenye hifadhidata_ya_data.;; Unda jedwali ili kuhifadhi data iliyotolewadb.runUNDA JEDWALI IKIWA HAIPO data id INTEGER PRIMARY Key OUTOINCREMENT, MAANDIKO yaliyomo SIYO BATILI; Kazi ya kuchota na kuchanganua ukurasa mmojakazi ya async fetchPageurl jaribu const majibu subiri axios.geturl; const cheerio.loadresponse.data; Toa data kwa kutumia kichaguzi kilichobainishwa dataSelector.kilaindex, element const content element.text.trim; Ingiza data iliyotolewa kwenye hifadhidata ya SQLite db.runINGIZA NDANI ya data maudhui THAMANI ?, maudhui, kosa ikiwa makosa kurudisha console.errorerr.message; console.logImeingizwa: maudhui; ; ; Shughulikia utaftaji kwa kutafuta kiungo cha ukurasa unaofuata na kupiga simu fetchPage kwa kujirudia const nextPageLink a.next-page.attrhref; ikiwa NextPageLink subiri fetchPagebaseURL nextPageLink; kukamata kosa console.errorerror.message; Anza kukwarua kutoka ukurasa wa kwanzafetchPagebaseURL.kisha console.logKuchakata kumekamilika.; db.closeerr ikiwa makosa kurudisha console.errorerr.message; console.logIlifunga muunganisho wa hifadhidata.; ;;Badilisha na URL msingi ya tovuti unayotaka kuchana, na usasishe utofauti wa dataSelector kwa kiteuzi chako cha CSS au usemi wa XPath.Ili kuendesha scraper, tekeleza:bashinodi scraper.jsHii itaanza kukwaruza tovuti na kuhifadhi data iliyotolewa katika hifadhidata ya SQLite iitwayo scraped_data.db. 