川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

爬虫必备—Requests库的请求参数和响应内容

作者:川石学院 日期:2021-05-19 17:54:12 点击数:

  网上经常有人问我关于python爬虫Requests库的一些相关问题,相信每个做软件测试工作的的都比较关心的。那么,今天小编带大家一起学习“Requests库的请求参数和响应内容”,大家要做好笔记,有不懂的可以咨询在线老师,一对一解答。

  1、requests.request-请求参数

  requests.request (method, url, **kwargs):

  Ø method:请求方法--get,post,put,delete等

  Ø url:请求路径

  Ø params:get请求参数,一般字典格式

  Ø data:post请求参数,字典格式

  Ø json:post请求参数,字典格式

  Ø headers:请求的header,字典类型

  Ø cookies:请求的cookie,字典类型

  Ø files:上传的文件,字典类型

  Ø auth: 进行HTTP认证,元组

  Ø verify:是否验证server的TSL证书,布尔值

  Ø timeout:设定超时时间,数值

  Ø allow_redirects:是否运行重定向,布尔值

  Ø stream:响应内容是否直接下载,布尔值

  #登录ecshop

  url = 'http://localhost/ecshop/user.php'

  data = {'username':'user001','password':'user001','act':'act_login'}

  #re = requests.post(url,data)

  re = requests.request('post',url=url,data=data)

  print(re.content.decode('utf-8'))

  2、 requests-get请求参数

  get请求特点: 请求参数在url中或params中均可。

  Ø response = requests.get(url)

  Ø response = requests.get(url, params=None)

  Ø response = requests.get(url, params=None, **kwargs)

  # #get 价格查询接口

  # #方法一:请求参数直接放在URL中

  # url = 'http://localhost/ecshop/goods.php?act=price&id=55&attr=&number=1'

  # res1 = requests.get(url)

  # print(res1.content.decode('unicode-escape'))

  # #json()函数返回一个字典

  # result = res1.json() #如果返回的数据是json格式,可以使用json方法获取响应体,然后获取对应的值

  # print(type(result))

  # print(result['err_msg'])

  # print(result['result'])

  # print(result['qty'])

  #

  # #方法二:get请求参数放到params参数中

  # url = 'http://localhost/ecshop/goods.php'

  # #?act=price&id=55&attr=&number=2&160248987409898

  # params = {

  # "act" : "price",

  # "id":55,

  # "attr" : None,

  # "number" : 2,

  # 160248987409898:None

  # }

  #

  # res1 = requests.get(url,params=params)

  # if res1.status_code == 200:

  # print(res1.json()["result"])

  3、requests-post请求参数

  post请求特点: 请求参数在body中,参数为data和json。

  Ø response = requests.post(url,data=data)

  Ø response = requests.get(url, json=json)

  #post方法:登录

  url = 'http://localhost/ecshop/user.php'

  param = {

  "username":'user001',

  "password":'user001',

  "act":"act_login",

  "submit":None

  }

  res1 = requests.post(url,data=param)

  if res1.status_code == 200:

  print(res1.text)

  else:

  print(res1.status_code)

  4、 requests—接收响应,中文乱码处理

  response = requests.get(url, params=None, **kwargs) #获取响应对象

  响应对象的属性和方法:

  Ø response.status_code #获取响应结果码

  Ø response.encoding #获取响应的编码格式

  Ø response.headers #获取响应头

  Ø response.content #获取二进制形式响应内容

  Ø response.text #获取字符串形式响应内容

  Ø response.json() #获取json格式响应内容

  Ø response.url #获取请求的url

  代码示例:

  import requests

  # url = "http://www.baidu.com"

  # res1 = requests.get(url)

  # print('URL:',res1.url)

  # print('响应码:',res1.status_code)

  # print('响应头:',res1.headers)

  # print('响应体:',res1.text)

  # #中文乱码的解决

  # #方法一:通过apparent_encoding指定解码时的类型

  # print(res1.encoding) #根据客户端信息,采取解码格式 ISO-8859-1

  # print(res1.apparent_encoding) #根据内容推断解码格式 utf-8

  # res1.encoding = res1.apparent_encoding

  # print(res1.text)

  #

  # #方法二:在字节码的基础上,直接对内容做解码处理

  # print(res1.content) #content是字节码内容

  # print(res1.content.decode('utf-8'))

  # #商品总价查询接口

  # url = 'http://localhost/ecshop/goods.php?act=price&id=55&attr=&number=2&160248987409898'

  # res1 = requests.get(url)

  # print(res1.encoding)

  # print(res1.apparent_encoding) #推测的编码不一定正确

  # print(res1.content.decode('unicode-escape'))

  今天关于“Requests库的请求参数和响应内容”就学习完啦,大家喜欢的话记得每天来这里和小编一起学习涨薪技能哦。(笔芯)

  川石学院零基础入门到精通课程免费学习即扫下方二维码,名师在线辅导!  

爬虫必备—Requests库的请求参数和响应内容(图1)

  附:川石学院全国校区最新开班时间,课程资料获取13691729932(微信同号)。  

爬虫必备—Requests库的请求参数和响应内容(图2)


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-05-19 17:54:12
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-05-19 17:54:12
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-05-19 17:54:12
  • 建筑工程专业朱同学成功转行为软件测试人!2021-05-19 17:54:12
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-05-19 17:54:12
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-05-19 17:54:12
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-05-19 17:54:12
  • 文科生转行软件测试照样拿下高薪15K!2021-05-19 17:54:12
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-05-19 17:54:12
  • 毕业1年,迷茫的他最终选择转行软件测试2021-05-19 17:54:12