在Node.js中如何使用axios解決request獲取HTML文本內容時的編碼異常問題?

在Node.js中如何使用axios解決request獲取HTML文本內容時的編碼異常問題?

Node.JS中Request模塊獲取html編碼異常的解決方案

在使用Node.js的request模塊抓取網頁時,經常會遇到HTML文本內容編碼異常,導致輸出亂碼。本文將分析問題原因并提供解決方案。

問題:request模塊編碼問題

使用request模塊訪問https://www.58moto.com/used-car/1470264等網址時,獲取的HTML內容可能顯示為亂碼,例如:

?zX????K?,??}?????????:_??????z檤???{??6?T=?s?5??~??[~?y?g?Z??~??????#??n?<p>…

這是因為request模塊默認情況下可能無法正確識別網頁的字符編碼,導致解碼錯誤。

解決方案:使用axios模塊

推薦使用axios模塊替代request來解決編碼問題。axios是一個更現代化、功能更強大的HTTP客戶端,它能夠自動檢測并處理各種字符編碼,避免亂碼出現。

立即學習前端免費學習筆記(深入)”;

以下是用axios獲取相同網頁內容的代碼示例:

const axios = require('axios');  async function fetchHtml() {     try {         const response = await axios.get('https://www.58moto.com/used-car/1470264');         console.log(response.data);      } catch (error) {         console.error(error);     } }  fetchHtml();

使用axios后,輸出的HTML內容將是正確的,因為axios會自動處理編碼轉換,確保輸出內容的準確性。 這是一種更可靠、更便捷的解決request模塊編碼異常問題的方法。

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享