十四、 requests库– 使用代理
使用代理:
使用requests添加代理也非常简单,只要在请求的方法中(比如get或者post)传递proxies参数就可以了。
示例代码:
import requests
proxy= {'http':'117.95.198.242:9999'} #快代理查询最新免费ip 加端口
url = 'http://httpbin.org/ip'
resp = requests.get(url,proxies = proxy)
print(resp.text)
#成功更改ip地址
十五、 requests库– 处理cookie
Cookie:
基本使用:模拟登陆
如果在一个响应中包含了cookie,那么可以利用cookies属性拿到这个返回的cookie值
import requests
resp= requests.get(‘http://www.baidu.com’)
print(resp.cookies)
print(resp.cookies.get_dict())
示例代码:
# 案例一
Import requests
url = 'https://www.zhihu.com/hot'
# 第一种方法使用浏览器访问通过复制cookie信息,实现模拟登录
headers
= {'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36','cookie':'略'}
resp = requests.get(url,headers = headers)
print(resp.text)
# 如果失败,可能是cookie过期,重新复制一下新cookie就行
session:共享cookie信息
使用requests,也要达到共享cookie的目的,那么可以使用requests库给我们提供的session对象。
注意:这里的session不是web开发中的那个session,这个地方只是一个会话的对象而已。
示例代码:
# 案例二
# 登录网址
Import requests
post_url= 'https://i.meishi.cc/login.php?redirect=https%3A%2F%2Fwww.meishij.net%2F'
# 账号密码
post_data = {'username':'略','password':'略'}
# 请求头
headers= {'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}
# 登录
session
= requests.session() #创建会话对象
session.post(post_url,headers= headers,data = post_data)
# 访问个人主页
url= 'https://i.meishi.cc/cook.php?id=14288257'
resp= session.get(url)
print(resp.text)
十六、 requests库– 处理不信任的ssl证书
处理不信任的SSL证书:
对于那些已经被信任的SSL证书的网站,比如http://www.baidu.com/,那么使用requests直接就可以正常的返回响应。示例代码如下:
resp= requests.get(‘http://inv-veri.chinatax.gov.cn/,verify = False’)
print(resp.content.decode(‘utf-8’))
示例代码:
import requests
url= 'http://inv-veri.chinatax.gov.cn'
#resp = requests.get(url)
#print(resp.text)
# 出现错误,不被信任
# 处理
resp= requests.get(url,verify = False)
print(resp.content.decode('utf-8'))
上一篇文章 第二章 网络请求(十一) 2019-12-09 地址:
https://www.jianshu.com/p/e48214316c08
下一篇文章 第三章 数据解析(一) 2019-12-11 地址:
https://www.jianshu.com/p/7d699279f0eb
以上资料内容来源网络,仅供学习交流,侵删请私信我,谢谢。