对python使用http、https代理的实例讲解


Posted in Python onMay 07, 2018

在国内利用Python从Internet上爬取数据时,有些网站或API接口被限速或屏蔽,这时使用代理可以加速爬取过程,减少请求失败,Python程序使用代理的方法主要有以下几种:

(1)如果是在代码中使用一些网络库或爬虫框架进行数据爬取,一般这种框架都会支持设置代理,例如:

<span style="font-size:14px;">import urllib.request as urlreq 
# 设置https代理 
ph = urlreq.ProxyHandler({'https': 'https://127.0.0.1:1080'}) 
oper = urlreq.build_opener(ph) 
# 将代理安装到全局环境,这样所有请求都会自动使用代理 
urlreq.install_opener(oper) 
res = oper.open("https://www.google.com") 
print(res.read())</span>
<span style="font-size:14px;">import requests as req 
print(req.get("https://www.google.com", proxies={'https': 'https://127.0.0.1:1080'}).content)</span>

(2)如果使用的库没有提供设置代理的接口,但是底层使用了urllib、requests等库,可以尝试设置HTTP_PROXY 和HTTPS_PROXY环境变量,常用的网络库会自动识别这些环境变量,使用变量设置的代理发起请求,设置如下:

import os 
os.environ['http_proxy'] = 'http://127.0.0.1:1080' 
os.environ['https_proxy'] = 'https://127.0.0.1:1080'

(3)如果上述两种方法都没有用,那么还可以使用一些可以监听、拦截和修改网络包的工具和库如(Fiddler、mitmproxy)来拦截http请求包并修改地址,达到使用代理的效果。

以上这篇对python使用http、https代理的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之编写类之四再论继承
Oct 11 Python
零基础写python爬虫之HTTP异常处理
Nov 05 Python
在Heroku云平台上部署Python的Django框架的教程
Apr 20 Python
python函数的5种参数详解
Feb 24 Python
Python 类的继承实例详解
Mar 25 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
Jan 05 Python
pandas 对每一列数据进行标准化的方法
Jun 09 Python
Python使用gRPC传输协议教程
Oct 16 Python
python 解压pkl文件的方法
Oct 25 Python
Python3.5内置模块之time与datetime模块用法实例分析
Apr 27 Python
python利用pytesseract 实现本地识别图片文字
Dec 14 Python
Python干货实战之八音符酱小游戏全过程详解
Oct 24 Python
python3 requests中使用ip代理池随机生成ip的实例
May 07 #Python
python使用代理ip访问网站的实例
May 07 #Python
一些Centos Python 生产环境的部署命令(推荐)
May 07 #Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
May 07 #Python
Pyspider中给爬虫伪造随机请求头的实例
May 07 #Python
python通过伪装头部数据抵抗反爬虫的实例
May 07 #Python
Django Web开发中django-debug-toolbar的配置以及使用
May 06 #Python
You might like
PHP的面试题集,附我的答案和分析(一)
2006/11/19 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
PHP缓存技术的使用说明
2011/08/06 PHP
jquery 插件开发备注
2010/08/27 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
2013/11/19 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
2016/02/18 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
2016/11/10 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
jQuery Mobile漏洞会有跨站脚本攻击风险
2017/02/12 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
2017/07/18 Javascript
Vue的轮播图组件实现方法
2018/03/03 Javascript
vue.js 中使用(...)运算符报错的解决方法
2018/08/09 Javascript
微信小程序实现签到功能
2018/10/31 Javascript
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
python在命令行下使用google翻译(带语音)
2014/01/16 Python
Python复制文件操作实例详解
2015/11/10 Python
浅析Python中MySQLdb的事务处理功能
2016/09/21 Python
用Pygal绘制直方图代码示例
2017/12/07 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
2018/10/18 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2018/12/12 Python
Python 3.x基于Xml数据的Http请求方法
2018/12/28 Python
python验证身份证信息实例代码
2019/05/06 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
2020/09/01 Python
乡镇综治宣传月活动总结
2014/07/02 职场文书
违规违纪检讨书范文
2015/05/06 职场文书
签字仪式主持词
2015/07/03 职场文书
公证书
2019/04/17 职场文书
Java存储没有重复元素的数组
2022/04/29 Java/Android