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)

浙公网安备 33010602011771号