对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代码写的12306订票代码
Dec 20 Python
总结网络IO模型与select模型的Python实例讲解
Jun 27 Python
如何利用Fabric自动化你的任务
Oct 20 Python
Python基于socket实现简单的即时通讯功能示例
Jan 16 Python
pycharm: 恢复(reset) 误删文件的方法
Oct 22 Python
Flask核心机制之上下文源码剖析
Dec 25 Python
Python字符串逆序输出的实例讲解
Feb 16 Python
python的列表List求均值和中位数实例
Mar 03 Python
python获取栅格点和面值的实现
Mar 10 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 Python
Python判断字符串是否为合法标示符操作
Sep 03 Python
解决pytorch 数据类型报错的问题
Mar 03 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 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
地址栏上的一段语句,改变页面的风格。(教程)
2008/04/02 Javascript
自己的js工具_Form 封装
2009/08/21 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
iframe里使用JavaScript控制主页转向的方法
2015/04/03 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
2016/02/25 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
使用vue.js在页面内组件监听scroll事件的方法
2018/09/11 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
2019/08/14 Javascript
ionic+html5+API实现双击返回键退出应用
2019/09/17 Javascript
js cavans实现静态滚动弹幕
2020/05/21 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
栈和队列数据结构的基本概念及其相关的Python实现
2015/08/24 Python
深入理解Django的中间件middleware
2018/03/14 Python
pandas数据框,统计某列数据对应的个数方法
2018/04/11 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
pow在python中的含义及用法
2019/07/11 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
Tensorflow轻松实现XOR运算的方式
2020/02/03 Python
Python OpenCV读取显示视频的方法示例
2020/02/20 Python
什么是Python中的顺序表
2020/06/02 Python
python 下载文件的多种方法汇总
2020/11/17 Python
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
北京捷通华声语音技术有限公司Java软件工程师笔试题
2012/04/10 面试题
2014厂务公开实施方案
2014/02/17 职场文书
计算机科学技术自荐信
2014/06/12 职场文书
大学生简历求职信
2014/06/24 职场文书
学习张丽丽心得体会
2014/09/03 职场文书
死亡证明书样本说明
2014/10/18 职场文书
当你找不到方向的时候,不妨读读刘备的一生
2019/08/05 职场文书
90行Python代码开发个人云盘应用
2021/04/20 Python
vue实现锚点定位功能
2021/06/29 Vue.js
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js