Requests20170928

来源:互联网 发布:淘宝时间是北京时间吗 编辑:程序博客网 时间:2024/06/06 17:07

HTTP协议:
URL格式:http://host:port[path]
host:合法的Internet主机域名或IP地址
path:请求资源的路径

URL是通过HTTP协议存取资源的Internet路径。

requests库的主要方法:
1、r = requests.request():构造一个请求,支撑以下各方法的基础方法
2、r = requests.get():获取HTML网页的主要方法
3、r = requests.head():获取HTML网页头部信息的方法
4、r = requests.post():向网页提交post方法,请求向URL位置后加新数据
5、r = requests.put():向网页提交put方法,请求向URL位置后加新数据,覆盖原资源
6、r = requests.patch():向网页提交局部修改请求
7、r = requests.delete():向网页提交删除请求

参数:
requests.request(method, url, **kwargs):
**kwargs:控制访问参数(13个),可选
1、params:字典,作为参数增加到url中
这里写图片描述
2、data:字典或文件对象,作为request的内容,不放在URL链接中
这里写图片描述
3、**json:**JSON格式数据,作为request内容
这里写图片描述
4、headers:HTTP定制头,字典(可模拟浏览器)
这里写图片描述
5、files:字典类型,传输文件,作为request内容
这里写图片描述
6、timeout:设定访问时间,单位秒

例1:爬取京东商品信息

import requestsurl='http://...'try:    kv = {'user-agent':'Mozilla/5.0')    r = requests.get(url,headers=kv)  #更换头部,模拟浏览器发起请求    r.raise_for_status()  #如果返回状态码为200,不产生异常;否则产生异常    r.encoding=r.apparent_encoding    print(r.text[:1000])  #取前1000个字符的信息except:    print("失败")

例2:百度搜索关键词提交
#百度关键词搜索接口:http://baidu.com/s?wd=keyword

import requestskeyword = "python"try:    kv = {'wd':keyword}    r = requests.get("http://baidu.com/s",params=kv)    print(r.request.url)    r.raise_for_status()except:    print("失败")

例3:图片

import requestsimport osurl = "http://..."root = "D://pics//"path = root + url.split('/')[-1]  #存储文件路径,用URL中的部分作为图片名try:    if not os.path.exists(root): #判断根目录是否存在,如果不存在创建一个        os.mkdir(root)    if not os.path.exists(path):  #判断文件是否存在,如果不存在执行以下代码        r = requests.get(url)        with open(path, 'wb') as f:            f.write(r.content) #将文件用二进制形式存储            f.close()            print("保存成功")    else:        print("文件已存在")except:    print("爬取失败")
原创粉丝点击