导学
当一个软件想获得数据,那么我们只有把网站当成api就可以
requests库:自动爬取HTML页面,自动网络请求提交
robots协议:网络爬虫排除标准(网络爬虫的规则)
beautiful soup库:解析HTML页面
工具:
IDLE:适用于python入门,功能简单直接,300+行代码以内
Sublime Text编译器:专门为程序员开发的第三方专用编程工具,专业编程体验
Wing:公司维护,工具收费;调试功能丰富;版本控制,版本同步;适合多人共同开发
PTVS:微软公司维护、调试功能丰富
PyCharm:简单,集成度高,适合较复杂工程
一、requests库
1.安装:
以管理员身份运行命令提示符,输入 pip install requests 后回车

2.使用:
启动idle(IDLE是Python自带的IDE;打开IDLE:按Win键,输入“idle”,回车;运行:F5)

测试一下(以访问百度主页为例子),状态码为200,表示访问成功

3.requests库的7个主要方法

这7个常用方法,除了第一个requests.request()方法是基础方法外,其他的6个方法都是通过调用requestsequest()方法实现的
4.requests.get(URL)
完整的使用:requests.get(url,params=None,**kwargs);其中url是拟获取页面的url链接,params指的是url中的额外参数,字典或者字节流格式,可选;kwargs是12个控制访问的参数
作用:获取一个网页 r=requests.get(url)
原理:构造一个向服务器请求资源的request对象(这个对象由requests库自动生成),返回的Response对象包含从服务器返回的所有资源.

r.encoding的编码方式是从http header中的charset字段获得.如果http header中有这样一个字段,说明我们访问的服务器对它的资源的编码是有要求的,这样的要求会返回回来,存在r.encoding中。但是,不是所有服务器都会对它的资源编码有相关的要求,所以,如果header中不存在charset,则默认编码为ISO-8859-1,但这样的编码并不能解析中文,所以requests库提供了一个备选编码r.apparent_encoding,实际上这个编码做的内容是根据http的内容部分而不是头部分,去分析内容文本中 可能的编码方式。
5.爬取网页的通用代码框架
代码框架其实就是一组代码,它可以准确可靠的爬取网页内容。
我们爬取的时候喜欢用requests.get(url)获取url的相关内容,但是这样的语句并不是一定成立的,因为网络连接有风险,所以这样的语句它的异常处理很重要

补充一个response异常:r.raise_for_status()--判断返回的response的类型,如果不是200,产生异常requests.HTTPError


6.HTTP协议以及Requests库方法
HTTP,超文本传输协议。是一个基于“请求与响应”模式的、无状态(第一次请求与第二次请求之间并没有相关的关联)的应用层协议(指的是该协议工作在TCP协议之上)。HTTP协议采用URL作为定位网络资源的标识。
HTTP URL的理解:URL是通过HTTP协议存取资源的Internet路径,URL对应一个数据资源。
URL格式:http://host[:port][path]
host:合法的Internet主机域名或IP地址
port:端口号,缺省端口为80
&

最低0.47元/天 解锁文章
1999

被折叠的 条评论
为什么被折叠?



