---恢复内容开始---

注:学习中国大学mooc 嵩天课程 的学习笔记

request的七个主要方法

request.request() 构造一个请求用以支撑其他基本方法

request.get(url,params=None,**kwarg)  12个参数     获取html的主要方法,对应于http的GET

request.head(url,**kwargs)   13个参数  获取网页头信息的方法,对应于http的head

request.post(url,data=None,json=None,**kwarg)11个采纳数  向网页中提交post请求的方法,对应于http中的post

requset.put(url,data,**kwarg)    向网页中提交put请求的方法,对应于http中的put

request.patch(url,data,**kwarg)   向http网页中提交局部修改请求,对应于http中的patch

request.delete(url,**kwarg)   向http网页中提交局部修改请求,对应于http中的delete

1.request.get(url,parm,更多参数)

r=requests.get(rul)

先构造一个request对象

返回一个response对象(包含爬虫返回的内容)

response 对象的五个属性

1 r.status_code 状态码 200表示连接成功 404表示连接失败 不是200都是失败的

2 r.text    以字符串的形式返回url对应的网络内容

3 r.encoding 从http header 中猜测相应内容的编码方式// 从header 中的charset字段 中找编码方式 如果没有 认为是 ISO-8859-1(无法解析中文)

4 r.apparent_encoding 从内容中分析出相应内容的编码方式(备选编码方式)(更加准确)

5 r.content http 相应内容的二进制形式

6.r.headers 返回头部信息

#可以赋值 r.encoding="utf-8" 然后用 r.text 来读取

2 理解Request 库的异常

request.ConnnectionError   DNS查询失败 拒绝链接

request.HTTPError     HTTP错误异常

request.URLRequired    URL缺失异常

request.TooManyRedirects 超过最大重定向次数。产生重定向异常

request.ConnectTimeout   连接服务器超市异常

request.Timeout       请求RUL超市 产生超时异常

r.raise_for_status()   [response 对象的方法] 如果r状态码不是200  引发 HTTPError 异常

3.http 协议

http hypertest transfer Protocol

url格式 : URL格式

http://host[:port][path]

host 合法的internet主机域名或IP地址

port 端口号,缺省端口为80

path 请求资源的路径

http://www.bit.edu.cn

http://220.181.111.188/duty

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

1 http 协议对资源的操作

GET   请求URL位置的资源

HEAD    请求获取URL位置资源的相应信息报告,即获得该资源的头部信息

POST   请求向URL位置的资源后附加新的信息

PUT   请求向URL位置存储一个资源,覆盖原URL位置的资源

PATCH   请求更新局部的URL位置资源,即改变该处的资源部分内容

DELETE  请求删除URL位置的资源

注:与request 的方法一一对应

2 一些简单操作

1 post  方法

payload={"key":"value1","key2":"value2"}

r=request.post("http://baabala.com",data=payload)

print(r.text)

{

}

使用post 一个字典 自动编码为form 表单

payload={"ACB"}

r=request.post("http://baabala.com",data=payload)

print(r.text)

{

}

使用post 一个字典 自动编码为data

使用post 一个字符串 自动编码为form 表单

put 方法也一样,但是会自动覆盖原先的内容

4 requests 详解

requset.requst(method,url,**kwargs)

method : 请求方式

url :获取页面的链接

**kwargs 其他的参数(13)

method(7种)就是操作

**kwargs

1.params 字典或者字节序列,作为参数增加到url中

例:kv={"key1":"value1","key2":value2"}

r=requests.requset("GET","http://pythonoo123.io/ws",params=kv)

print(r.url)

http://python123.io/ws?key1=value1&key2=value2

2.data 字典字节序列或者文件对象,作为request的内容

3.josn JSON格式的数据作为request的内容

4.header     字典 HTTP 定制头

例: hd={"user-agent":"Chrome/10"}

r=request.request("POST","http://pythonoo123.io/ws",headers=hd)

5.cookies :字典或Cookiejar

6.auth :元祖,支持HTTP认证功能

7.file 字典类型,传输文件

例:fs={"file":open(open(“data.xls”,"rb"))}

r=requests.request("post","http://pythonoo123.io/ws",files=fs)

8.timeout 超时时间,一秒为单位

9.proxies:字典类型,设定代理服务器,可以增加登录认证

例: pxs{"http":"http://user:pass@10.10.1.1234","https":"https://10.10.10.1:4321"}

r=request.request("GET",""http://pythonoo123.io/ws",proxies=pxs)利用其设置代理

10.allow_redirects: True/False,默认为True,重定向开关,是否允许对url重定向

11.stream: True/False,默认为True 获取内容立即下载开关

12.verify:True/False,默认为True,认证SSL 证书开关

13.cert 保存本地 SSL 路径字段

---恢复内容结束---

Python网络爬虫与信息提取[request库的应用](单元一)的更多相关文章

  1. Python网络爬虫与信息提取

    1.Requests库入门 Requests安装 用管理员身份打开命令提示符: pip install requests 测试:打开IDLE: >>> import requests ...

  2. 第三次作业-Python网络爬虫与信息提取

    1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业 过程. 5.写一篇不少于100 ...

  3. 第三次作业-MOOC学习笔记:Python网络爬虫与信息提取

    1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业 第一周 Requests库的爬 ...

  4. 第3次作业-MOOC学习笔记:Python网络爬虫与信息提取

    1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业 4.提供图片或网站显示的学习进 ...

  5. Python网络爬虫与信息提取笔记

    直接复制粘贴笔记发现有问题 文档下载地址//download.csdn.net/download/hide_on_rush/12266493 掌握定向网络数据爬取和网页解析的基本能力常用的 Pytho ...

  6. 【学习笔记】PYTHON网络爬虫与信息提取(北理工 嵩天)

    学习目的:掌握定向网络数据爬取和网页解析的基本能力the Website is the API- 1 python ide 文本ide:IDLE,Sublime    Text集成ide:Pychar ...

  7. Python网络爬虫与信息提取(一)

    学习 北京理工大学 嵩天 课程笔记 课程体系结构: 1.Requests框架:自动爬取HTML页面与自动网络请求提交 2.robots.txt:网络爬虫排除标准 3.BeautifulSoup框架:解 ...

  8. Python网络爬虫与信息提取(二)—— BeautifulSoup

    BeautifulSoup官方介绍: Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式. 官方 ...

  9. python网络爬虫与信息提取 学习笔记day2

    Day2: 查看robots协议: 查看京东的robots协议 查看百度的robots协议,可以看到百度拒绝了搜狗的爬虫233 爬取京东商品页面相关信息: import requests url = ...

随机推荐

  1. SpringBoot 05_集成SpringDataJpa

    你还在为项目的集成头疼吗?你还在为管理大量的配置文件烦恼吗?如果是,用SpringBoot吧!今天主要介绍如果在SpringBoot的基础上创建一个集成了SpringDataJpa的项目,至于Spri ...

  2. 07_Hibernate多事务并发运行时并发问题检索方式

    什么是事务? 事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位. 事务就是逻辑上的一组操作,要么全都成功,要么全都失败 ...

  3. Python基础---序列对象

    一.序列简介 数据结构是通过某种方式组织在一起的元素的集合. 容器(Container)是一种Python的数据结构,基本上是包含其他对象的任意对象.序列和映射(如字典)是两类主要的容器.集合(Set ...

  4. 高德地图定位不到 报错 location Error, ErrCode:7, errInfo:KEY错误 请到http://lbs.amap.com/api/android-location-sdk/abouterrorcode/查看错误码说明.

    出现该问题的可能是高德地图的配置不准确: 仔细配对一下 看sha1 是否是通过应用签名生成的  要区分发布版的sha1 跟调试版的sha1  是不相同的 (小编我第一次反这种错误的时候 是因为我把高得 ...

  5. [转]Visual Studio 2010单元测试(3)--顺序单元测试

    之前我们做的测试都是一个一个进行的,当然我们也可以一次性选择多个测试方法进行,但是测试运行的顺序以“测试列表编辑器”窗口中的默认列表顺序为准.在实际场景中,我们需要进行有顺序的单元测试,步骤可能每一步 ...

  6. phpqrcode.php 生成二维码图片用于推广

    <?php /* * PHP QR Code encoder * * This file contains MERGED version of PHP QR Code library. * It ...

  7. poj 1958

    传送门 四塔汉诺塔问题,转移方程非常玄学,f[i]=min(f[j]*2+d[i-j]) (1 <=j < i),d表示三塔下的汉诺塔问题,这个方程的意思是将j个在四塔模式下有A挪到B,然 ...

  8. JS对象和数组深浅拷贝总结②

    在实际开发中遇到过太多次深拷贝浅拷贝的问题.总结一下~ JS数据存储和深浅拷贝实际运用① 这是之前写过的一篇文章,解决浅拷贝深拷贝的问题只说了一种方法,今天来补充一下. 介绍深拷贝和浅拷贝都在上一篇文 ...

  9. 【DM642学习笔记二】dsp基础实验:发光二级管的显示 led.c

    1,OSDFPGA配置一个专用的8位寄存器控制指示灯亮灭,访问地址为90080017h,由电路图可知低电平点亮. 2,程序运行时,可直接editmemory.即修改90080017h地址的值(可在Ed ...

  10. Life of Pi

    ·when you look into his eyes,you are seeing your own emotionsreflected back at you,nothing else. ·Go ...