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是 ...
随机推荐
- Java,获取文件的Base64字符串,解码Base64字符串还原文件
在jdk1.8以前,获取文件Base64字符串需要用到第三方库,从1.8开始,Java中引入了Base64相关的类 以下是代码示例 获取文件的Base64编码字符串 import java.io.Fi ...
- 在Qt Creator中创建C++工程并使用CMake构建项目
创建完毕后,若电脑上没有安装CMake,则无法构建工程, 我用的是绿色版,官网下载地址:https://cmake.org/files/v3.10/cmake-3.10.1-win64-x64.zip ...
- 15款创建美丽幻灯片的 jQuery 插件
1. Skippr Skippr 是一个超级简单的 jQuery 幻灯片插件.仅仅是包含你的网页中引入 jquery.skippr.css 和 jquery.skippr.js 文件就能使用了. Sk ...
- ubuntu下安装android模拟器genymotion【转】
本文转载自:http://www.jianshu.com/p/e6062ebb8fc9 去genymotion下载对应的安装包genymotion-2.4.0_x64.bin sudo ./genym ...
- chrome最小字体12px
http://www.mamicode.com/info-detail-512021.html http://www.divcss5.com/wenji/w738.shtml
- Redis使用经验之谈
应用场景 保存用户喜欢的商品信息. 类型: Hash, key: usr:${type_id}:${version_id}:${user_id}:${warehouse_id}, field: ${s ...
- 盈创动力之 JS校验方法
var IS_NULL = 128; // 10000000var IS_FULL = 64; // 01000000var IS_HALF = 32; // 00100000var IS_ASCII ...
- JS倒计时,距离某一日期还有多少时间
JS计算从现在到某个时刻还有多少时间,显示当前日期时间距离x年x月x日还有x天x小时x分钟x秒,如果给定时间比当前时间更早,则显示为距离2012-9-30已过去1天22小时26分30秒的格式,如果给定 ...
- python 基础之第十一天(面向对象)
#############面向对象##################### 类: In [1]: class MyClass(object): ##用class定义一个类 ...: def psta ...
- JQ对象和原生DOM对象
相同点:两者本质上都是DOM元素. 不同点:JQ对象是在原生DOM对象上进行了一次封装,使开发人员使用起来更简洁.高效. 两者之间用法也完全不同,很说初学者经常混淆. 其实区分两者并不难, 1.语法不 ...