python爬虫(一)requests使用

一.requests库安装

window或Linux均可使用命令 pip install requests

二、requests主要方法

               方法                                             说明
requests.request() 构造一个请求,支持一下各方法的基础方法
requests.get() 获取html网页的主要方法,对应于HTTP的get
requests.head() 获取html网页头信息的方法,对应于HTTP的head
requests.post() 向html网页提交post请求的方法,对应于HTTP的post
requests.put() 向html网页提交put请求的方法,对应于HTTP的put
requests.patch() 向html网页提交局部修改请求的方法,对应于HTTP的patch
requests.delete() 向html网页提交删除请求的方法,对应于HTTP的delete

 

三、requests方法解析

requests.request(methon,url,**kwargs)

methom:请求方式,对应get,post等六种

url:拟获取界面的url链接

**kwargs:控制访问的参数,共13个,可选

params:字典或字节序列,作为参数增加到url中

kv = {'key1':'value1','key2':'value2'}
r=requests.request('GET','http://python123.io/ws',params=kv)
r.url
#'https://python123.io/ws?key1=value1&key2=value2'

data:字典、字节或文件对象,作为Request的内容

json:json数据格式,作为Request的内容

headers:字典,HTTP定制头

cookies:字典获CookieJar,Request中的Cookie

auth:元组,支持HTTP认证功能

files:字典类型,传送文件

timeout:设置超时时间,单位为秒

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

allow_ redirects : True/False ,默认为True ,重定向开关

stream:True/False ,默认为True ,获取内容立即^下载开关

verify:True/False ,默认为True ,认证SSL证书开关

cert:本地SSL证书路径

 

request.get(url,params=None,**kwargs)

url:拟获取界面的url链接

params:字典或字节序列,作为参数增加到url中(可选)

**kwargs:控制访问的参数,共13个,可选

其他格式同get

四、Response对象

r = requests.request('GET','http://www.baidu.com')
type(r)
#<class 'requests.models.Response'>
            属性                                            说明
r . status_ code  HTTP请求的返回状态, 200表示连接成功, 404表示失败
r. text HTTP响应内容的字符串形式,即, ur1对应的页面内容
r. encoding 从HTTP header中猜测的响应内容编码方式
r . apparent_ encoding 从内容中分析出的响应内容编码方式(备选编码方式)
r. content HTTP响应内容的二进制形式

 

五、异常

             异常                                          说明
requests . ConnectionError 网络连接错误异常,如DNS查询失败、拒绝连接等
requests . HTTPError HTTP错误异常requests. URLRequired  URL缺失异常
requests . TooManyRedirects 超过最大重定向次数,产生重定向异常
requests . ConnectTimeout  连接远程服务器超时异常
requests . Timeout 请求URL超时,产生超时异常

 

六、通用代码框架

import requests
def getHTMLText(url):
    try:
        r = requests.get(url)
        r.raise_for_status()#如果状态不是200,引发HTTPError异常
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return "产生异常"


url = 'http://www.baidu.com'
print(getHTMLText(url))

 

发布了177 篇原创文章 · 获赞 20 · 访问量 7万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览