Python 爬虫之request库学习

requests.request() 构造一个请求,支撑以下各方法的基础方法
requests.request(method, url ,**kwargs)
 **kwargs:控制访问的参数,
(1) params: 字典或者字节序列,作为参数增加到url中;
 kv = {'key1':'value1', 'key2':'value2'}
 r = requests.request('get', 'http://www.baidu.com', params = kv)
 print(r.url)
 ---http://www.baidu.com/?key1=value1&key2=value2
(2)data :字典、字节序列或者文件对象,作为request的内容
 kv = {'key1':'value1', 'key2':'value2'}
 r = requests.request('POST', 'http://python123.io/ws', data = kv)
 body = '主题内容'
 r = requests.request('POST', 'http://python123.io/ws', data = body)
(3) json: json 格式的数据,作为Request的内容。
 kv = {'key1':'value1', 'key2':'value2'}
 r = requests.request('POST', 'http://python123.io/ws', json = kv)
(4) headers 字典,http定制头,如模拟浏览器
 hd = {'user-agent':'Chrome/10'}
 r = requests.request('POST', 'http://python123.io/ws', headers = hd)
(5) cookies: 字典或者CookieJar, request中的cookie;
(6) auth: 元组,支持HTTP认证功能
(7) files: 字典类型,传输文件
 fs = {'file': open('data.xls', 'rb')}
 r = requests.request('POST', 'http://python123.io/ws', files = fs)
(8) timeout: 设定超时时间
(9) proxies: 字典类型,设定访问代理服务器
(10) allow_redirects: True or False, 重定向开关
(11) stream: 获取内容立即下载开关,True or False
(12) verify : True or False 认证SSL证书开关
(13) cert: 本地SSL证书路径

requests.get() 获取HTML网页的主要方法
requests.head():获取HTML网页头的主要方法
requests.post(): 向网页提供POST请求,向URL位置的资源后附件新的数据
requests.put():向网页提供put请求,覆盖原URL位置的资源
requests.patch(): 向HTML网页提交局部修改请求,局部更新
requests.delete():提交删除请求


r.status_code: HTTP返回状态,200成功,404失败
r.text HTTP响应内容的字符串形式
r.encoding 从HTTP Header中猜测的响应内容的编码形式
r.apparent_encoding 从内容中分析出的响应内容的编码形式
r.content HTTP响应内容的二进制形式

爬取代码通用框架

import requests


def get_HTML_Text(url):
    try:
        # get url,超时30秒; request.head().headers
        # 可以获取文件头,request.get().text也可以,但是,其产生网络流量不一样。
        r = requests.get(url, timeout=30)
        r.raise_for_status()  # 如果状态不是200,引发HTTPERROR
        r.encoding = r.apparent_encoding  # 获取编码方式
        return r.text
    except BaseException:
        return "产生异常"

if __name__ == '__main__':
    url = 'http://www.baidu.com'
    print(get_HTML_Text(url))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值