Requests 入门
首先直接通过管理员运行cmd,然后执行 pip install requests 就可以直接安装Requests库了
有个最基本的语句
r = requests.get(url)
通过requests.get,构造一个向服务器请求资源的Request对象(是python内部生成的)
get() 返回的内容用r来表示,其中r是 Response 对象,它包含所有的服务器资源,我们可以从这个对象中获取所有我们想要的信息。
完整的使用方法是 r = requests.get( url, params = None, **kwargs)
在Response的对象(即r)属性中
——r.status_code HTTP请求的返回状态,200表示连接成功,404或其他表示失败
——r.text HTTP响应内容的字符串形式,即,url 对应的页面内容
——r.encoding 从HTTP header 中猜测的响应内容的编码方式
——r.apparent_encoding 从内容中分析响应内容的变法方式(常用的备选编码方式、更加准确)
——r.content HTTP响应内容的二进制形式
Requests库的异常
——requests.ConnectionError 网络连接错误异常
——requests.HTTPError HTTP错误异常
——requests.URLRequired URL缺失异常
——requests.TooManyRedirects 超过最大重定向次数,产生重定向异常
——requests.ConnectTimeout 连接远程服务器超时异常
——requests.Timeout 请求URL超时,产生异常
爬取网页的通用代码框架
def getHTMLText(url):
try:
r = requests.get(url, timeout = 30)
r.raise_for_status() #如果状态不是200,引发HTTPError异常
r.encoding = r.apparent_encoding
return r.text
except:
return "产生异常"
requests.request( method, url, **kwargs)
// method :请求方式
r = requests.request( 'GET', url, **kwargs)
r = requests.request( 'HEAD', url, **kwargs)
r = requests.request( 'POST', url, **kwargs)
r = requests.request( 'PUT', url, **kwargs)
r = requests.request( 'PATCH', url, **kwargs)
r = requests.request( 'delete', url, **kwargs)
r = requests.request( 'OPTIONS', url, **kwargs)
**kwargs : 控制访问的参数,均为可选项
——params 字典或字节序列,作为参数增加到 url 中
——data 字典、字节序列或文件对象,作为Request 的内容
——json JSON格式的数据,作为Request 的内容
——headers 字典,HTTP定制头
——cookies 字典或CookieJar, Request中的cookie
——auth 元组,支持HTTP认证功能
——files 字典类型,传输文件
——timeout 设定超时时间,秒为单位
——proxies 字典类型,设定访问代理服务器,可以增加登录认证
(高级功能)
——allow_redirects True/False,默认为True,重定向开关
——stream True/False,默认为True,获取内容立即下载
——verify True/False,默认为True,认证SSL证书开关
——cert 本地SSL证书路径
Requests 入门的更多相关文章
- requests入门实践02_下载斗图拉最新表情包
新版本移步:https://www.cnblogs.com/zy7y/p/13376228.html 下载斗图拉最新表情包 要爬取的目标所在网址:http://www.doutula.com/phot ...
- requests入门实践01_下载2560*1080的电脑壁纸
新版本移步:https://www.cnblogs.com/zy7y/p/13376228.html 附上代码 # !usr/bin/env python # -*- coding:utf-8 -*- ...
- requests入门大全
02 requests接口测试-requests的安装 安装常见问题 提示连接不上,443问题 一般是因为浏览器设置了代理,关闭代理. 网络加载慢,设置国内镜像地址 1.pip安装 2.pycharm ...
- requests入门
1.通过GET请求获得搜索结果的网页源代码 import requests name=input("请输入想要搜索的明星:") url=f'https://www.sogou.co ...
- requests-html库轻体验-HTMLSession下载表情包
requests-html实战,HTMLSession下载斗图啦最新表情包 前言 在这篇文章之前,我写了requests入门实践02_下载斗图拉最新表情包用正则表达式提取url,来下载斗图啦最新表情包 ...
- 转:Python requests 快速入门
迫不及待了吗?本页内容为如何入门Requests提供了很好的指引.其假设你已经安装了Requests.如果还没有, 去 安装 一节看看吧. 首先,确认一下: ·Requests 已安装 ·Reques ...
- 爬虫入门系列(二):优雅的HTTP库requests
在系列文章的第一篇中介绍了 HTTP 协议,Python 提供了很多模块来基于 HTTP 协议的网络编程,urllib.urllib2.urllib3.httplib.httplib2,都是和 HTT ...
- 爬虫入门系列(三):用 requests 构建知乎 API
爬虫入门系列目录: 爬虫入门系列(一):快速理解HTTP协议 爬虫入门系列(二):优雅的HTTP库requests 爬虫入门系列(三):用 requests 构建知乎 API 在爬虫系列文章 优雅的H ...
- 【网络爬虫入门02】HTTP客户端库Requests的基本原理与基础应用
[网络爬虫入门02]HTTP客户端库Requests的基本原理与基础应用 广东职业技术学院 欧浩源 1.引言 实现网络爬虫的第一步就是要建立网络连接并向服务器或网页等网络资源发起请求.urllib是 ...
随机推荐
- tornado之异步web服务二
前面介绍了异步方法带来的显著性能提升.我们来看下异步使用的方法. 1 首先对于get方法使用tornado.web.asynchronous进行装饰.当使用tornado.web.asynchrono ...
- Javascript学习之正则表达式详解
什么是正则表达式(regular expreSSion) 正则表达式是一个描述字符模式的对象. 可以处理更复杂的字符串 JavaScript中的正则表达式使用RegExp对象表示 正则表达式用于 ...
- ubuntu动态加载模块简单模板
1:简单代码 #include<linux/init.h> #include<linux/module.h> MODULE_LICENSE("GPL"); ...
- 如何在时间复杂度为O(n)空间复杂度为O(1)的情况下完成链表的逆置
问题如题目,首先分析,链表的反转的空间复杂度如果为常数级,那么不可能完成从堆中申请数据来完成链表的反转工作,所以问题就转化为了如何将原链表修改/拆解为逆置的链表: 函数形式假定如下 void Inv ...
- Codeforces Round #363 (Div. 2) D. Fix a Tree —— 并查集
题目链接:http://codeforces.com/contest/699/problem/D D. Fix a Tree time limit per test 2 seconds memory ...
- 动态负载均衡(Nginx+Consul+UpSync)环境搭建
首先 安装好 Consul upsync 然后: 1.配置安装Nginx 需要做配置,包括分组之类的,创建目录,有些插件是需要存放在这些目录的 groupadd nginx useradd -g ng ...
- svg矢量图制作工具(Sketsa SVG Editor) v7.1.1 中文免费版
下载地址:https://www.jb51.net/softs/555253.html Sketsa SVG Editor中文版是一款强大好用的矢量图绘制工具,该工具的最大特色就是集成了中文语言,且支 ...
- bzoj1556 (DP)
bzoj 1556 点这里打开题目 题目是求 a^2 求和: 原问题可以转化为:两个人在玩这个东西,问这两个人弄出来的序列相同的有多少种情况,操作方式不同即为一种不同的情况. 就这个问题,参考大佬的D ...
- Fast RCNN中RoI的映射关系
写在前面:下面讨论中Kernel Size为奇数,因为这样才能方便一致的确认Kernel中心. 在Fast RCNN中,为了大大减少计算量,没有进行2k次运算前向运算,而是进行了1次运算,然后在从po ...
- 最新版ADT(Build: v22.6.2)总是引用appcompat_v7的问题
昨天在ADT Manager里更新了一些组件,结果ADT不支持.索性直接下载了最新的ADT.但是发现无论创建什么类型的应用(无论支持的最低API是多少,或者是不是用模板),都会在创建应用的同时创建一个 ...