十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Python人才要具备哪些技能?requests库有哪些技巧?Python入门简单、精通不易,因此很多人选择专业系统的学习。根据各大招聘网站反馈的信息显示,理论基础与实战经验兼备的Python人才不仅就业速度快、就业薪资更高。接下来小编就给大家分享一下requests库相关知识及使用技巧。
我们提供的服务有:成都网站设计、做网站、成都外贸网站建设公司、微信公众号开发、网站优化、网站认证、松阳ssl等。为1000多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的松阳网站制作公司
requests是Python实现的简单易用的HTTP库,使用起来比urllib简洁很多。因为是第三方库,所以我们在使用前requests需要cmd安装,输入pip install requests命令,安装完成后import一下,正常则说明可以开始使用。
requests库基本方法介绍:
requests.request():构造一个请求,支撑一下各方法的基础方法;
requests.get():获取HTML网页的主要方法,对应于HTTP的GET;
requests.head():获取HTML网页头信息的方法,对应于HTTP的HEAD;
requests.post():向HTML网页提交POST请求的方法,对应于HTTP的POST;
requests.put():向HTML网页提交PUT请求的方法,对应于HTTP的PUT;
requests.patch():向HTML网页提交局部修改请求,对应于HTTP的PATCH;
requests.delete():向HTML页面提交删除请求,对应于HTTP的DELETE;
r.states_code:获取返回的状态码;
r.text / r.read():HTTP响应内容文本形式返回;
r.content:HTTP响应内容的二进制形式;
r.json():HTTP响应内容的json形式;
r.raw:HTTP响应内容的原始形式;
r.encoding:返回请求的url;
r.encoding:从HTTP header中猜测的响应内容编码方式;
r.apparent_encoding:从内容中分析出的响应内容编码方式(备选编码方式);r.apparent_encoding:从内容中分析出的响应内容编码方式(备选编码方式)。
requests.get( )方法
"""
r = requests.get(url,params=None,**kwargs)
~url :模拟获取页面的url连接
~params :url 中的额外参数,字典或字节流格式,无需对其编码
~**kwargs :12个控制访问的参数
"""
import requests
data = {
"age":"22",
"name":"germey",
}
response = requests.get("http://httpbin.org/get",params=data) #给URL传参
print(response.text)
'''Requests 会推测其编码然后解码,但是 HTTP 和 XML 自身可以指定编码,这样的话,应该使用 r.content 获取二进制的内容,然后设置 r.encoding='utf8' 为相应的解码。
'''
定制请求头
传递一个dict给headers参数就可以,Requests不会基于定制header的具体情况改变自己的行为。只不过在最后的请求中,所有的header信息都会被传递进去。
import requests
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36',
}
response = requests.get("https://www.zhihu.com/expiore",headers=headers)
print(response.text)
注意: 定制 header 的优先级低于某些特定的信息源,例如:
如果在.netrc中设置了用户认证信息,使用headers=设置的授权就不会生效。而如果设置了auth=参数,.netrc的设置就无效了。
如果被重定向到别的主机,授权 header 就会被删除。
代理授权header会被URL提供的代理身份覆盖掉。
在我们能判断内容长度的情况下,header的Content-Length会被改写。
代理设置
设置proxies参数来配置代理,同时也可以设置代理密码认证,还可以使用SOCKS代理。
import requests
proxies= {
"http":"http://127.0.0.1:9999", (代理地址,端口)
"https":"http://127.0.0.1:8888"
}
response = requests.get("https://www.baidu.com",proxies=proxies)
print(response.text)
'''
proxies = {"http": "http://user:pass@10.10.1.10:3128/",}
proxies = {
'http': 'socks5://user:pass@host:port',
'https': 'socks5://user:pass@host:port'
}
'''
只要大家真正掌握了Python技术,胜任以上岗位就不是难题。如果你想快速学习Python技术,那就赶快加入到专业的学习吧。