其实以前为了完成作业了解过爬虫,也写过一些代码,算是入得门来了。今天重新学习,是为了更系统的掌握这门语言艺术。
首先是requests库,这个库的作用在我现在看来,是为了获取页面,比如requests.get(url)就可以获取地址为url的页面的信息,不过这种浅显的语句当然只能获得浅显的信息,比如框架,真正有价值的数据是不会这么轻易得到的,不过,这也是基层,了解后才能搭起整个框架。一千也断断续续的学过很多语言,比如C,C++,python,还有一些为了完成作业而半路出家学的语言,因为没有认真对待,或者系统的梳理,所以只是随时用,随时查,这样不仅会太片面,而且也都是在似懂非懂的边缘徘徊,所以,作为一个立志要在计算机网络混的人,当然,基础还是很重要的,好在现在只是大三,我还有一年的时间来充实自己的硬件,加油吧,不再是纯洁如瑕的小白,也尚未成为深不可测的小黑,暂时就先叫自己小灰吧,加油吧,计算机小灰。
接下来记录以下今天的学习成果:
import requests //注意是requests而不是request
r=requests.get(url) //获得一个response对象r,至于什么是response对象,或许以后用的多了,就会有更深刻的理解,现在就听老师的,记住
response对象具有以下属性:
r.status_code () //请求网页的回应,如果正确连接到了网页,就会返回200,如果返回其他数字,就说明没有连接成功。
r.text() //从网页上能获得的信息
r.encoding() //从页面的header部分中猜测的编码方式
r.apparent_encoding() //从内容分析出编码方式
r.content() //网页相应内容的二进制形式
request库的异常
requests.ConnectionError 网络连接错误,如DNS查询失败,拒绝连接等
requests.HTTPError HTTP错误异常
requests.URLRequired URL缺失异常
requests.ToomanyRedirects 超过最大重定向次数,产生重定向异常
requests.ConnectTimeout 连接远程服务器超时异常
requests.Timeout 请求URL超时,产生超时异常
r.raise_for_status() 判断返回response类型r的状态不是200,如果不是就会
产生一个requests.httperror
http协议对资源的额操作:
get 请求获取URL资源
head 获得资源的头部信息
post 请求向URL位置的资源后附加新的数据
put 请求向url位置存储一个资源,覆盖原URL位置的资源
patch 请求局部更新URL位置的资源,即改变该处资源的部分内容
delete 请求删除URL位置存储的资源
requests库的7个主要方法:
requests.request() 构造一个请求,支撑以下个方法的基础方法
requests.get() 获取HTML网页的主要方法,
requests.head() 获取HTML网页头信息的方法
requests.post() 向网页提交post请求的方法
requests.put() 向HTML网页提交put请求的方法
requests.patch() 向HTML网页提交局部修改请求
requests.delete() 向HTML页面提交删除请求
条条框框似乎很乏味,以后看到或许会理解,但是,重要的是,以后如果有机会能用到,我能不能想起来这种最开始学过的东西,还是当时由于某种需求临时上网搜。看到好多说现在学习不用记忆,网络这么方便,用的时候随时查就好了,讲真,我以前是真的听进去了,不过,现在却产生了一些不同的看法,你可以搜,不过,前提是你得知道往哪里搜,而且,不管到什么时候,记忆都是很重要的,当然,你说现在并不是单以技能高低论英雄,我也输的心服口服,我先表达的是,系统的学习,是多么的重要,真正的强者是能够把学过的东西融汇贯通,达到物尽其用的人。
不管怎么说,我只是一个不纯的小白,余生路上,我希望能坚持,向着纯色系努力,用当时的自己觉得是正确的方式。