爬虫本质:通过编写程序来获取到互联网上的资源。
我们的程序本质上就是模拟浏览器
一个简单的小爬虫:
只需要三步:
from urllib.request import urlopen
#url是网址,request意思是请求
这里跑出来的中文是这样的注意看:前面有一个b',这代表后面的是字节,也就是说我们需要自己把它这个还原成我们想要看到的字符串,我们可以这样还原:
不过这里面的问题就来了,我们解码是按照utf-8还是jdk呢?其实源代码里有写的:所以这个地方是:
现在就变成中文的了:
不过现在还是有个问题,我们得到的源码里面一大堆看不懂的东西。我们先把它们保存到一个文件里去。如果文件里出现乱码,就:
我们拿到了这些东西:其实我们的浏览器拿到的也是这些东西,只是浏览器把它运行成这个样子:
浏览器里我们只要输入网址,按下回车,就相当于发送了一个请求。
web请求过程剖析:
响应分为两种,一种是服务器渲染,另一种是客户端渲染。服务器渲染就是在服务器端把数据和html源码结合在一起,我们要的数据在html源码里,客户端渲染是第一次请求的时候只返回html框架,第二次请求的时候把关键字发给服务器,服务器再把数据返回,也就是说html源码和数据是分开的