Python网络爬虫与信息提取[request库的应用](单元一)
---恢复内容开始---
注:学习中国大学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库的应用](单元一)的更多相关文章
- Python网络爬虫与信息提取
1.Requests库入门 Requests安装 用管理员身份打开命令提示符: pip install requests 测试:打开IDLE: >>> import requests ...
- 第三次作业-Python网络爬虫与信息提取
1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业 过程. 5.写一篇不少于100 ...
- 第三次作业-MOOC学习笔记:Python网络爬虫与信息提取
1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业 第一周 Requests库的爬 ...
- 第3次作业-MOOC学习笔记:Python网络爬虫与信息提取
1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业 4.提供图片或网站显示的学习进 ...
- Python网络爬虫与信息提取笔记
直接复制粘贴笔记发现有问题 文档下载地址//download.csdn.net/download/hide_on_rush/12266493 掌握定向网络数据爬取和网页解析的基本能力常用的 Pytho ...
- 【学习笔记】PYTHON网络爬虫与信息提取(北理工 嵩天)
学习目的:掌握定向网络数据爬取和网页解析的基本能力the Website is the API- 1 python ide 文本ide:IDLE,Sublime Text集成ide:Pychar ...
- Python网络爬虫与信息提取(一)
学习 北京理工大学 嵩天 课程笔记 课程体系结构: 1.Requests框架:自动爬取HTML页面与自动网络请求提交 2.robots.txt:网络爬虫排除标准 3.BeautifulSoup框架:解 ...
- Python网络爬虫与信息提取(二)—— BeautifulSoup
BeautifulSoup官方介绍: Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式. 官方 ...
- python网络爬虫与信息提取 学习笔记day2
Day2: 查看robots协议: 查看京东的robots协议 查看百度的robots协议,可以看到百度拒绝了搜狗的爬虫233 爬取京东商品页面相关信息: import requests url = ...
随机推荐
- 【Uva 10003】Cutting Sticks
[Link]: [Description] 给你一根长度为l的棍子; 然后有n个切割点; 要求在每个切割点都要切割一下; 这样,最后就能形成n+1根小棍子了; 问你怎样切割,消耗的体力最小; 认为,消 ...
- CentOS7使用firewalld打开关闭防火墙与端口(转)
CentOS7使用firewalld打开关闭防火墙与端口 1.firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop ...
- 【转载】Fiddler抓包及模拟服务端
此文章转载公众号‘云测学院'链接:https://mp.weixin.qq.com/s/qXmBDh980nBJ8IchbRGC3Q 及公众号gloryroadtrain 在HTTP接口的测试过程中, ...
- BMP 图片格式
BMP根据颜色深度,可以分为2(1位).16(4位).256(8位).65536(16位)和1670万(24位)以及32位含有alpha通道.8位图像可以是 索引彩色图像外,也可以是灰阶图像,而索引 ...
- js 引入Vue.js实现vue效果
拆分组件为单个js见:https://www.jianshu.com/p/2f0335818ceb 效果 html <!DOCTYPE html> <html> <hea ...
- c语言string的函数
PS:本文包含了大部分strings函数的说明,并附带举例说明.本来想自己整理一下的,发现已经有前辈整理过了,就转了过来.修改了原文一些源码的问题,主要是用char *字义字符串的问题,导致程序运行时 ...
- [计蒜客] 矿石采集【记搜、Tarjan缩点+期望Dp】
Online Judge:计蒜客信息学3月提高组模拟赛 Label:记搜,TarJan缩点,树状数组,期望Dp 题解 整个题目由毫无关联的两个问题组合成: part1 问题:对于每个询问的起点终点,求 ...
- [转]Visual Studio 2010生成解决方案时,提示磁盘空间不足!
最近几天,使用VS调试时总是出现提示:磁盘空间不足.我觉得可能有两种可能: 1.系统盘已被木马侵袭.历时4小时的全盘扫描没有病毒提示,只好删除了一些不必要的软件: 2.使用VS2010调试 ...
- 用JSON将一个字典写入到文件,通过loads()将JSON字符串在转换为本来的类型
通过dumps将字典转换为JSON的字符串,存到磁盘里面
- csp-s模拟测试51(b)attack,tree题解
题面:https://www.cnblogs.com/Juve/articles/11598286.html attack: 支配树裸题? 看一下支配树是什么: 问题:我们有一个有向图(可以有环),定 ...