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文件。非强制性 ? ? 小菜鸡的进程~ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |