python-爬虫-requests模块

1. requests模块是第三方模块,需要预先安装。使用前,需导入模块。

import requests
import json  # json处理

 2. 发送请求

requests.get(url)        # GET请求
requests.post(url)       # POST请求
requests.put(url)        # PUT请求
requests.delete(url)     # DELETE请求
requests.head(url)       # HEAD请求
requests.options(url)    # OPTIONS请求

 3. 为url传递参数

>>> url_params = {'key':'value', 'city':'香港'}       # 字典传递参数, 如果值为None的键不会被添加到url中
>>> header = {"User-Agent":"my-app/0.0.0.1"}        # headers为UA伪装
>>> r = requests.get('your url', params = url_params, headers = header)
>>> print(r.url)
    your url?city=香港?key=value

 4. 相应的内容

r.encoding                       # 获取当前的编码
r.encoding = 'utf-8'             # 设置编码
r.text                           # 以encoding解析返回内容。字符串方式的响应体,会自动根据响应头部的字符编码进行解码。
r.content                        # 以字节形式(二进制)返回。字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩。
r.headers                        # 以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
r.requests.headers               # 返回发送到服务器的头信息
r.cookise                        # 返回cookie
r.status_code                    # 响应状态码
r.raw                            # 返回原始响应体,也就是 urllib 的 response 对象,使用 r.raw.read()   
r.ok                             # 查看r.ok的布尔值便可以知道是否登陆成功
r.json()                         # Requests中内置的JSON解码器,以json形式返回,前提返回的内容确保是json格式的,不然解析出错会抛异常-如百度翻译
r.history                        # 返回重定向信息,可加上allow_redirects = False阻止重定向
r.raise_for_status()             # 失败请求(非200响应)抛出异常  

 post发送json请求

import requests
import json
r = requests.post(url, data = {"kw":"hello"})
dic_obj = r.json()
f = open("hello.json", "w", encoding = "utf-8")
json.dump(dic_obj, f = f. ensure_ascii = False)

 

posted @ 2020-09-23 00:05  sduhzq  阅读(66)  评论(0)    收藏  举报