微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mooc python网络信息获取第一周

一、环境

IDLE,Subline Text,PyCharm,Anaconda & Spyder。

二、requests库

1.安装

cmd:pip install requests

 

2.七方法

requests.request(method,url,**kwarge) 构造请求支撑以下各种方法的基础方法,method :get post head put  patch delete options;

requests.get(url,params=None,**kwargs获取HTML网页的主要方法,对应与http的get;

requests.head(url,**kwargs获取HTML网页头信息的方法,对应与http的head;

requests.post(url,data=None,json=None,**kwargs) 向HTML网页提交post请求的方法,对应与http的post;

requests.put(url,**kwargs) 向HTML网页提交put请求的方法,对应与http的put;

requests.patch(url,**kwargs) 向HTML网页提交局部修改请求,对应与http的patch;

requests.delete(url,**kwargs) 向HTML网页提交删除请求,对应与http的delete

 

3.http对requests库方法的变动:1.post 请求向url位置后的资源附加新的数据   2.put  请求向url的位置加入一个新的资源,并覆盖原来的url资源

 

4.requests.get(url,params=None,**kwargs)      params:url中的额外参数,字典或者字节流格式   **kwargs:12个控制访问的参数

 

5.最重要的两个对象:request,response

 

6.response对象的属性

r.status_code  http请求的返回状态 200表成功 404表失败;

r.text   http响应内容的字符串形式;

r.encoding   从http header中猜测的相应内容编码方式;

r.apparent_encoding 从内容中分析出的响应内容编码方式(备选编码方式);

r.content http响应内容的二进制形式;

 

7.Requests库返回的几种异常

requests.HTTPError    HTTP错误异常;

requests.URL.required    URL缺失异常;

requests.ConnectionError   网络连接错误异常如:dns查询失败,拒绝连接等等;

requests.TooManyRedireets  超过最大重定向次数 产生重定向异常;

requests.ConnectTimout   连接远程服务器超时异常;

requests.Timeout    请求URL超时,产生超时异常;

 

8.r.raise_for_status()   如果不是200,产生异常requests.HTTPError           能判断response对象的状态是不是200

 

9.**kwargs 可选的参数

params=字典或字节序列 作为参数加到url中,并让服务器应答的时候和url一起答复;

json=json格式的数据作为request的内容

headers 定制访问的url的http头    可用来模拟不同的浏览器;

data=字典或字节序列或文件对象 作为request的内容

cookies:字典或cookieJaar,request中的cookie;

auth:元组支持http认证功能

files:字典类型,传输文件

timeout 设定超时时间,秒为单位;

proxies字典类型,设定访问代理费服务器,可以增加登陆认证

 

10.网络爬虫的尺寸

爬网页:小规模,数据量小,爬取速度不敏感,常用request库

爬网站:中规模,数据量较大,速度敏感,scrapy库

爬全网:大规模,搜索引擎,速度关键,定制开发。

 

11.爬虫危害:骚扰问题,法律风险,隐私泄露

 

12.爬虫的限制

开源审查:判断user-Agent进行限制,检查来访http协议头的User-Agent域,只响应相应浏览器或友好爬虫的访问;

发布公告:Robots协议 告知所有爬虫网站的爬取策略,要求爬虫遵守,Robots协议(Robots Exclusion Standard 网络爬虫排除标准) 作用:网站告知网络爬虫哪些页面可以抓取哪些不行  形式:在网站根目录下的robots.tet文件。非强制性

 

 

小菜鸡的进程~

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐