urllib 库python
urllib 库是 Python 中一个最基本的网络请求库。能够模拟浏览器的行为,向指定的服务器发送一个请求,并能够保存服务器返回的数据。浏览器
1、urlopen 函数:服务器
在 Python3 的 urllib 库中,全部和网络请求相关的方法,都被集到 urllib.request 模块下面了,如下先来看看 urlopen 函数基本的使用:网络
实际上,使用浏览器访问百度,右键查看源代码。你会发现,跟咱们打印出来的数据是如出一辙的。也就是说,上面三行代码就已经帮咱们把百度的首页所有代码爬下来了。一个基本的url 请求对应的 python 代码真的很是简单。函数
如下对 urlopen 函数进行详细讲解:post
- url :请求的 url 。
- data:请求的data ,若是设置了这个值,那么将变成 post 请求。
- 返回值:返回值是一个 http.client.HTTPResponse 对象,这个对象是一个类文件句柄对象。有read(size)、readline()、readlines()以及getcode()等方法。
2、urlretrieve 函数:编码
这个函数能够方便的将网页上的一个文件保存到本地。一下代码能够很是方便的将百度的首页下载到本地E盘的frame文件夹中:url
还能够下载网页上的图片到本地,只需复制网页上的图片地址:spa
3、urlencode 函数:3d
用浏览器发送请求的时候,若是url 中包含了中文或者其余特殊字符,那么浏览器会自动的给咱们进行编码。而若是使用代码发送请求,那么就必须手动的进行编码,这时候就应该使用 urlencode 函数来实现。 urlencode 能够把字典数据转换为 URL 编码的数据。
4、parse_qs 函数:
能够将通过编码后的 url 进行解码。
5、urllib 库之 urlparse 和 urlsplit 函数:
有时候拿到一个 url ,想要对这个url中的各个组成部分进行分割,那么这个时候就可使用 urlparse 或者是 urlsplit 来进行分割。
urlparse 和 urlsplit 的区别就在于 urlparse 多了一个 params 属性。还能够指定查看哪些属性:
6、request.Request 类:
若是想要在请求的时候增长一些请求头,那么就必须使用 request.Request 类来实现。好比要增长一个 User-Agent:
request.Request 类除了能够传递headers,还能够传递 Data 和 method。