“咬文嚼字”系列之大话编程二

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37979178/article/details/85921253

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也有前端模板。

猜你喜欢

转载自blog.csdn.net/qq_37979178/article/details/85921253