我们利用python去爬取我们所需要的信息,无非就是让电脑代替人去从目标网站上获得信息,那么我们想要获取数据,首先需要明白,服务端的数据是如何传送到我们的网页上的。
服务器渲染
在服务器那边直接与html整合在一起,在源代码里面有显示,响应过程如下:
它只进行一次请求,当我们(我用的chrome)打开开发者工具的时候我们在network一栏中能发现服务器传回来的各种数据,当我们点开返回的前端代码,发现,我们所需要的数据也在这份代码中,这就是服务器渲染:(这样的数据也是最好获取的数据)
客户端渲染
客户端渲染相较于服务器渲染,比较麻烦,但是网页的运行效率更高,这种方式一般也采用的是ajax框架。第一次请求只要一个html骨架,第二次通过运行一个js进行一次请求获得数据,在源代码中看不到数据
例如,我们利用百度翻译查询 dog,然而我们并没有在其第一次返回的html框架中找到与其相关的内容:
但是,我们发现当我们选择network标签下的Fetch/XHR标签时,却能在里面找到我们所需要的数据。这个标签里面的文件就是服务器第二次发送回来的数据:
熟练使用浏览器抓包工具,能让我们更好的分析数据,解析数据