“咬文嚼字”系列之大話編程二

2019年第一週,整體表現還算可以,健身計劃兩天沒有跑步,其他的基本完成。徹底扔掉了遊戲,熬夜這樣的壞習慣。思想還算開闊,沒有被自己迷惑,算是開了一個比較不錯的頭吧。唯一不足的是上班期間學習的量大大減少,以後將上班的時間定爲大量寫代碼的黃金時間,避免不必要的浪費。

從酷狗爬音樂到SEO問題

這周看了一篇這樣的文章,講的是利用爬蟲獲取酷狗的Top500首歌曲,整體看下來文章分析的很到位,語言描述也很準確,不像有些自稱乾貨的文章談一些雲裏霧裏模棱兩可的東西。看這篇文章對我啓迪最大的點不是他實現的最終效果(獲取音樂文件),而是利用瀏覽器分析定位MP3文件的方法。首先是定位到網頁版酷狗音樂的播放界面,然後通過Element查找有沒有包含MP3的HTML標籤,雖然在網頁源代碼中我們找到了關聯的標籤,但要明確網頁是最終呈現狀態,他是CSS,JS以及HTML標籤的最終的組合呈現,也就是說網頁最終有的通過爬蟲不一定爬的到(有些標籤和樣式是通過JS加載實現的)。這一點就和我前兩天在知乎上看到的前後端分離與SEO類似了,以前的傳統網頁基本上都是SSR,這樣的網頁基本是後端路由,我們獲取的界面都是在服務端進行渲染的,也就是所有的渲染都是在後臺進行的並沒有所謂的JS渲染,這樣爬蟲跑到的前端標籤是包含有數據內容的標籤。需要明確的是Java爬蟲爬到的前端Html標籤和瀏覽器最終呈現的html狀態是不一樣的(瀏覽器是最終呈現)

“中途島模式”

中途島模式是前端全棧模式的一種體現,這種模式的基本架構是:1. Java或者是其他語言提供HTTP API,負責後端業務邏輯。2.Node.js作爲中間層,負責和後端進行數據的交互,並負責前端頁面的邏輯。3.前端界面通過AJAX或者Fetch實現和Node層的通信,負責View層的展示。這裏之前一直對node層的作用不是很瞭解,通過各個技術社區的學習漸漸瞭解到其實Node作爲中間層主要有兩方面的作用:1. 請求的合併,前端頁面所需的數據如果直接從後臺獲取的話可能需要若干次請求,但當Node作爲中間層的時候可能我們就需要一個請求,然後由Node完成後端數據的獲取拼接。2. SSR服務端渲染可以利用Node做服務端渲染解決前後端分離造成的SEO問題,需要明確Node也有前端模板。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章