首先urllib库是爬虫中用到的比较多的一个库,也算是比较基础的一个库,对于入门来说,urllib是蛮重要的。后面会介绍一下requests的使用。
1、urllib的介绍
按我的理解来说,要想爬取到网页中想要的东西,首先必须要爬取到网页的源码。只有爬取到了网站的源码,才能进行下一步的操作——对源码进行解析。解析完之后,才可以得到爬取到的数据。
而urllib对于初学者来说,爬取一般网页的源码来说是比较容易的。为什么说是一般?因为对于初学者来说,找到网页的接口是比较难的,特别是一般大型网站的接口特别难找。下面我来放两张图对比一下。
图一:
这是比较容易找到网站页面,能够从图中看出页面是直接显示出来的。我这里访问的是“糗事百科”。
图二:
从这张图中可以获取我们需要的URL,所谓的URL,就是访问这个地址就可以跳转到页面。而下面的Request Headers也是需要的。从接口中主要获取的就是URL和Headers。而这个一般来说对于新手是比较难找的,因为找不到网站的页面。
图三:
而对于一些网站(上图是微博),它把其网站的URL隐藏的很好,就特别的难以发现,能看到有特别多的其它的页面信息来混淆”爬虫”,所以需要长时间的累计经验才能熟练的去寻找。对于刚入门的来说,我还是建议去爬取一些简单的网站练手,多去练习。
2、urllib库使用
import urllib.request 导入库
urllib.request.urlopen() 模拟浏览器向服务器发送请求
response 服务器返回的数据
response的数据类型是HttpResponse
字节-->字符串
解码decode
字符串-->字节
编码encode
read() 字节形式读取二进制 扩展:read(5