【Python】网络爬虫

前言:html

mooc上嵩天老师提供了容易上手的网络爬虫视频教程。python

笔记内容:segmentfault

  requests库    #requests官网详细的介绍服务器

     time库网络

     BeautifulSoup库app

扩展阅读:关于反爬虫,看这一篇就够了post

    

一、requests库方法 ui

网络资源就像是一个黑盒,经过其接口(url),能够获取网络资源(jpg,txt,gif,flash等)编码

requests库有一套完整的方法:url

其中requests.requset()是基础的方法,能够用此方法构造替代下面的get等具体的方法。但推荐使用get,head等单独的方法。

requests.request() #构造一个请求,支撑如下各类方法的使用
requests.get() #获取html网页
requests.head()#获取html网页头信息
requests.post()#向html网页提交post请求
requests.put()#向html网页提交put请求
requests.patch()#向html网页提交局部修改请求
requests.delete()#向html网页提交删除请求
requests.options()

例子:

import requests   #导入requests库
url=http://www.baidu.com 
r=requests.get(url)  #获取url的对象
print(r.status_code) #状态位200时,表示get成功,404或者其余表示失败
print(r.encoding)  #-->'ISO-8859-1'根据header猜想响应内容的编码方式
print(r.apparent_encoding) #-->'utf-8'从内容中分析出的响应内容编码方式
r.encoding='utf-8' #从新定义其编码格式为utf-8
print(r.text)#打印url连接的内容

其中的,推荐使用apparent_encoding,更准确。

2.requests.get()

在get一个url时,可能会出现错误,例如网络链接失败,http异常等。

requests.ConnectionError #网络链接错误异常,如DNS查询失败、拒绝链接等
requests.HTTPError #HTTP错误异常
requests.URLRequried #url缺失异常
requests.TooManyRedirects #超过最大重定向次数,产生重定向异常
requests.ConnectTimeout #链接远程服务器超时异常
requests.Timeout #请求url超时,产生超时异常
相关文章
相关标签/搜索