前面已经学习过怎么样使用Python + selenium + webdriver + chrome方案来抓取数据,现在来更进一步学习。因为scrapy一般情况下只适合抓取在服务器端静态生成的网页,而不适合在客户端动态生成的网页。为什么这样说呢,这个就要了解目前WEB开发的两种机制,一种叫做服务端渲染,一种叫做客户端渲染。
服务端渲染和客户端渲染本质都是字符串拼接;
服务端渲染:在客户端发起请求后,在服务端把数据查询的结果嵌套在html,然后把整个包发给客户端进行渲染,这当中只会有一次请求。
客户端渲染:在客户端发起请求后,服务端将html页面返回,html中还有js执行文件和css样式文件,在页面返回完成时,再执行js执行文件,从服务端获取数据资源,渲染到html页面上,这当中,至少会有两个请求。