2.3.5 Python第三方库

python的支持的不仅仅有标准库,更重要的还支持海量的第三方库。
1, 安装第三方库
第一个方法:源码安装
在网上下载第三方库的源码,一般github上源码的来源比较全,得到的源码可以进行本地安装。
如果你下载的是一个文件包,即得到的源码格式为 ziptar.ziptar.bz2的压缩文件,需要先解压缩,然后进入其目录(文件夹);如果你能熟练使用git命令,可以直接从github中clone源码到本地计算机上,然后再进入该目录(文件夹)。进去之后通常会看见 setup.py文件。如果是Linux操作系统或者苹果计算机,就在这里运行shell,执行命令:
python setup.py install
如果用的是Windows系统,需要打开命令行模式,执行上面的指令即可。
就这样,就能把这个第三库安装到系统里。具体位置,要视操作系统和你当初安装Python环境时设置的路径而定。默认条件下,Windows是在C:\Python2.7\Lib\site-packages,Linux在/usr/local/lib/python2.7/dist-packages
这种方法安装虽然麻烦,但是很灵活:
可以下载安装自己选定的任意版本的第三方库,比如最新版,或者更早的某个版本,所以在某些有特殊需要的时候,常常使用这种方式安装第三方库。
通过安装设置可以指定安装目录,自由度比较高。
卸载所安装的库非常简单,只需要到相应系统的site-packages目录,直接删掉库文件即可。
第二个方法:pip安装
有一个网站专门用来存储第三方库,在这个网站上的所有软件包,都能用pip或者easy_install这种安装工具来安装,网站的地址:https://pypi.python.org/pypi。
pip是一个以Python计算机程序语言写成的软件包管理系统,可以安装和管理软件包
首先,要安装pip;用的是Ubuntu系统或者其他某种Linux系统,就用不到这个操作,因为在安装操作系统的时候已经默认把这个东西安装好了,要是没有安装的话,可以这样:
Debian 和 Ubuntu:
sudo apt-get install python-pip
CentOS:
sudo yum install python-pip
当出现: No package python-pip available.说明没有 python-pip
那就,先执行: yum -y install epel-release
然后再执行: yum install python-pip
当然,也可以下载文件 get-pip.py,然后执行 python get-pip.py来安装,下载地址是:https://bootstrap.pypa.io/。这个方法也适用于Windows系统。
对于Windows操作系统,如果你安装了某个版本的Python,特别注意到安装目录中找一找,一般情况下pip就已经默认安装好了。
安装完 pip之后,只需要执行 pip install XXXXXX(XXXXXX代表第三方库的名字)即可。
就是这么简单!
2,举例说明
安装requests:pip install requests

安装好了之后,进入交互界面:
>>> import requests
>>> dir(requests)
先查看requests可用的内建函数
get请求试试:
>>> a = requests.get ("http://www.baidu.com")
>>> a. cookies
<RequestsCookieJar[Cookie(version=0, name='BDORZ', value='27315', port=None, port_specified=False, domain='.baidu.com', domain_specified=True, domain_initial_dot=True, path='/', path_specified=True, secure=False, expires=1523497862, discard=False, comment=None, comment_url=None, rest={}, rfc2109=False)]>
>>> a. headers
{'Content-Encoding': 'gzip', 'Transfer-Encoding': 'chunked', 'Set-Cookie': 'BDORZ=27315; max-age=86400; domain=.baidu.com; path=/', 'Server': 'bfe/1.0.8.18', 'Last-Modified': 'Mon, 23 Jan 2017 13:27:32 GMT', 'Connection': 'Keep-Alive', 'Pragma': 'no-cache', 'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform', 'Date': 'Wed, 11 Apr 2018 01:51:02 GMT', 'Content-Type': 'text/html'}
>>> a. encoding
'ISO-8859-1'
>>> a. status_code
200
查看网页内容(截取部分):
>>> print a. text
<!DOCTYPE html>

<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href= http://s1.bdstatic.com/r/
请求发出后,requests会基于http头部对相应的编码做出有根据的推测,当你访问a.text时,requests使用其推测的文本编码。
post请求
你要向某个服务器发送一些数据,一般情况下,使用的就是post,实现方式也比较简单,只需要传递一个字典给data参数。
>>> import requests
>>> da = {"name":"zhangsan","age":25}
>>> a = requests.post ("http://httpbin.org/post")
>>> a1 = requests.post ("http://httpbin.org/post",data=da)
>>> print a.text
{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Connection": "close",
"Content-Length": "0",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.18.4"
},
"json": null,
"origin": "61.135.37.134",
"url": "http://httpbin.org/post"
}

>>> print a1.text
{
"args": {},
"data": "",
"files": {},
"form": {
"age": "25",
"name": "zhangsan"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Connection": "close",
"Content-Length": "20",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.18.4"
},
"json": null,
"origin": "61.135.37.134",
"url": "http://httpbin.org/post"
}

>>>
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值