安装第三方模块方法和requests

时间:2021-12-21 21:46:16

如何安装第三方模块  

   pip3
        pip3 install xxxx
    
    源码
        下载,解压
        进入目录 python setup.py install

requests

 

最常用的测试方法
import requests
a
= requests.get("http://127.0.0.1:8000/test/", )

 

python 标准库中提供了:urllib等模块以供http请求,但是,它的API太渣了。他是为另一个时代、另一个互联网所创建的。它需要巨大的工作,甚至包括各种方法辅助,来完成简单的工作,所以选择requests
一堆废话,简单的说就是urllib,urllib2是python底层的东西,当请求URL的时候,requests可以模拟浏览器完成一系列动作,而且代码量比较少,不过urllib也有自己的优势

    import urllib.request  
f
= urllib.request.urlopen('http://www.webxml.com.cn//webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=424662508')
result
= f.read().decode('utf-8')

import urllib.request
req
= urllib.request.Request('http://www.example.com/')
req.add_header(
'Referer','http://www.python.org')
r
= urllib.request.urlopen(req)
result
= r.read().decode('utf-8')

Requests是使用Aachen2 Licensed 许可证的基于python开发的HTTP库,其在python内置模块的基础上进行了高度的封装,从而使得pythoner进行网络请求时,变的美好许 多,使用Requests可以轻而易举的完成浏览器可有的任何操作

1)、无参数实例

    import requests  
ret
= requests.get(''https://github.com/timeline.json'')
print(ret.url)
print(ret.text)

2)、有参数实例

    import requests  
payload
= {'key1': 'value1', 'key2': 'value2'}
ret
= quests.get("http://httpbin.org/get", params=payload)
print(ret.url)
print(ret.text)

3)、其他请求

    requests.get(url,params=None,**kwargs)  
requests.post(url,data
=None,json=None,**kwargs)
requests.put(url,data
=None,**kwargs)
requests.head(url,
**kwargs)
requests.delete(url,
**kwargs)
requests.path(url,data
=None,**kwargs)
requests.options(url,
**kwargs)

#以上方法是在此方法的基础上构建
requests.request(method, url, **kwargs)
更多requests模块相关的文档见:http://cn.python-requests.org/zh_CN/latest/

4)、http请求和XML实例
实例:检测qq账号是否在线

    import urllib  
import requests
from xml.etree import ElementTree as ET
    # 使用内置模块urllib发送HTTP请求,或者XML格式内容  
"""

f = urllib.request.urlopen('http://www.webxml.com.cn//webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=424662508')
result = f.read().decode('utf-8')



"""


# 使用第三方模块requests发送HTTP请求,或者XML格式内容

r
= requests.get('http://www.webxml.com.cn//webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=424662508')
result
= r.text
# 解析XML格式内容
node = ET.XML(result)

# 获取内容
if node.text == "Y":
print("在线")
else:
print("离线")

复制代码
"""

 

5)、查看火车停靠信息

    import urllib  
import requests
from xml.etree import ElementTree as ET




# 使用内置模块urllib发送HTTP请求,或者XML格式内容
"""

f = urllib.request.urlopen('http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?TrainCode=G666&UserID=')
result = f.read().decode('utf-8')



"""

# 使用第三方模块requests发送HTTP请求,或者XML格式内容

r
= requests.get('http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?TrainCode=G666&UserID=')
result
= r.text




# 解析XML格式内容

root
= ET.XML(result)
for node in root.iter('TrainDetailInfo'):
print(node.find('TrainStation').text,node.find('StartTime').text,node.tag,node.attrib)