爬虫基础(3)

requests库

使用 Requests发送网络请求非常简单。

第一步:需要导入 Requests 模块:

import requests

第二步:创建一个Response对象,我们可以各种通过HTTP请求类型从这个对象中获取所有我们想要的信息。

例如:获取 Github 的公共时间线。

Response = requests.get(‘https://api.github.com/events‘)

Response = requests.post(‘http://httpbin.org/post‘, data = {‘key‘:‘value‘})

Response = requests.put(‘http://httpbin.org/put‘, data = {‘key‘:‘value‘})

Response = requests.delete(‘http://httpbin.org/delete‘)

Response = requests.head(‘http://httpbin.org/get‘)

Response = requests.options(‘http://httpbin.org/get‘)

Get 、Post、PUT、DELETE、HEAD 以及 OPTIONS 都是requests 库的HTTP请求类型,常用的一般是Get 、Post两种,下面的教程也是以Get 、Post两种为主介绍相关的使用。

使用代理:

import request

proxy = {"http":"23.62.155.5:3365"}

response = request.get("http:\\www.baidu.com", proxies=proxy)

cookie:

如果一个响应中包含了 cookie 则可以通过 cookie属性拿到返回的cookie值

import request

resp = request.get("http:\\www.baidu.com")

print(resp.cookie)
print(resp.cookie.get_dict())

session:

urllib库,是可以使用opener发送多个请求,多个请求之间是可以共享cookie的。那么如果使用 requests,也要达到
共享 cookie的目的,那么可以使用 requests库给我们提供的session对象。注意,这里的session不是web开发中的那个
,这个地方只是一个会话的戏象而已。使用 requests来实现。示例代码如下:
# 创建session对象
session = request.Session()
# 正常使用方法
session.post(url,data=data,handers=handers)

response = session.get(rul)
处理不信任的SSL证书:

对于那些已经被信任的SSL整数的网站,比如https://www.baidu.com,那么使用requests直接就可以正常的返回响应,示例代码 如下:
resp.requests.get('http://ww.12306.cn/morehweb/,verify=false)
print(resp. content. decode(utf-8)

 


posted @ 2019-08-12 21:56  五木徒羚  阅读(190)  评论(0编辑  收藏  举报