您的当前位置:首页正文

【Python】请求数据Requests工具包安装及介绍

来源:要发发知识网
  • HTTP协议
    协议是指计算机通信网络中两台计算机之间进行通讯所必须共同遵循的规定或规则,超文本传输协议(HTTP)是一种通讯协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。
    目前我们使用的是HTTP/1.1版本。

属性 内容
schema http
host
path /sj/test/test.aspx
query-string name=sviergn&x=true
anchor stuff
  • 服务器和本地的交换机制
    本-------(Request)------------>网
    地-------(Response)---------->络
    浏览器----------------------> 服务器

  • 导入requests模块,几种请求方式

import requests

r =  requests.get(url = '…')
r = requests.post(url = '…')
r = requests.put(url = '…')
r = requests.head(url = '…')
r = requests.delete(url = '…')
r = requests.options(url = '…')
  • 获取网页状态码status code -> 显示网页返回状态
状态 含义 举例
1xx 临时响应
2xx 成功 200(成功)服务器已成功完成处理了请求。通常,这表示服务器提供了请求的网页。
3xx 重定义 302(临时移动)服务器目前从不同位置的网页响应请求,类似跳转页面。
4xx 请求错误 404(未找到)服务器找不到请求的网页。
5xx 服务器错误
  • r.status_code检查网页的状态码
import requests
par = {'wd':'学习使我快乐'}
u = 
r = requests.get(url = u, params=par)
print(r.url) # 
print(type(r)) # <class 'requests.models.Response'>
print(r.status_code) # 200
  • r.encoding检查网页编码
import requests
par = {'wd':'学习使我快乐'}
u = 
r = requests.get(url = u, params=par)
print(r.url) # 
print(r.encoding) # ISO-8859-1

ISO-8859-1是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。

  • 改变编码
import requests
par = {'wd':'学习使我快乐'}
u = 
r = requests.get(url = u, params=par)
print(r.url) # 
print(r.encoding) # ISO-8859-1
r.encoding = 'utf-8'
print(r.encoding) # utf-8
  • r.text()获取网页内容
import requests
r = requests.get(url = 
print(r.text)
  • 获取头域
    HTTP头域是HTTP协议中请求(request)和响应(response)中的头部信息HTTP包括通用头,请求头,响应头和实体头四个部分。
import requests
r = 
print(r.headers)
  • timeout设置超时时间,一旦超过这个时间还没有获取响应,就会提示错误
import requests
r = requests.get(url =  = 0.1)
print('successful!')