爬虫笔记3:requests库使用

requests库概述
Python内置的urllib库在对于Cookies,登录验证,代理方面等操作太繁琐。而requests库在这些方面却做得很好!


请求方法:get(),返回一个Response对象
参数:url,data,headers,proxies,verity,timeout
  1、url:请求的URL
  2、data:模拟表单,参数是传一个字典
  3、headers:请求头,伪装成浏览器
  4、proxies:防止被封IP,参数是传一个字典
  5、timeout:超时设置
  6、verify:SSL证书验证,默认是True
属性:
  text:返回Unicode内容;
  content:返回字节流内容
  status-code:状态码
  cookies:返回cookies
其他重要方法:
post():使用post请求
Session():获取会话维持


get()和post()的区别
  1、 get:表单数据会附在url之后(HTTP协议头)
    post:数据不会附在url之后(HTTP包的包体中)
  2、 get:对URL长度有限制
    post:理论上不限制
  3、 get:可被缓存
    post:不可被缓存(安全性高)


response对象的text和content区别
content返回的是byte型数据,而text返回的是Unicode数据
代码演示:

import requests
#请求字节流文件
r = requests.get('https://p1.ssl.qhimg.com/t0151320b1d0fc50be8.png')
print(r.text)#已经以某种格式进行解码,出现乱码
print(r.content)#返回文件的bytes数据
with open('360.png','wb') as f:
f.write(r.content)

cookies获取
使用response对象的cookies属性获取

for key,value in r.cookies.items():
print(key,':',value)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章