对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中使用HTMLParser解析html实例
Feb 08 Python
Python常用的文件及文件路径、目录操作方法汇总介绍
May 21 Python
详解Python3中的Sequence type的使用
Aug 01 Python
python监控文件或目录变化
Jun 07 Python
Python编写简单的HTML页面合并脚本
Jul 11 Python
在Python程序员面试中被问的最多的10道题
Dec 05 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
Jan 17 Python
终端命令查看TensorFlow版本号及路径的方法
Jun 13 Python
python3实现随机数
Jun 25 Python
Python 字符串换行的多种方式
Sep 06 Python
Django实现单用户登录的方法示例
Mar 28 Python
详解解决jupyter不能使用pytorch的问题
Feb 18 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中CI操作多个数据库的代码
2012/07/05 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
2014/07/29 PHP
php+ajax实时输入自动搜索匹配的方法
2014/12/26 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
各种快递查询--Api接口
2016/04/26 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
利用javascript打开模态对话框(示例代码)
2014/01/11 Javascript
js解决select下拉选不中问题
2014/10/14 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
2015/06/10 Javascript
JavaScript中的parse()方法使用简介
2015/06/12 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
Javascript中for循环语句的几种写法总结对比
2017/01/23 Javascript
详解AngularJS ng-class样式切换
2017/06/27 Javascript
node跨域请求方法小结
2017/08/25 Javascript
Angular实现搜索框及价格上下限功能
2018/01/19 Javascript
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
基于Vue2x的图片预览插件的示例代码
2018/05/14 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
[01:44]剑指西雅图 展望TI之CIS战队专访
2014/06/25 DOTA
python 多线程应用介绍
2012/12/19 Python
Python发送Email方法实例
2014/08/21 Python
Request的中断和ErrorHandler实例解析
2018/02/12 Python
python使用筛选法计算小于给定数字的所有素数
2018/03/19 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
Python 获取主机ip与hostname的方法
2018/12/17 Python
python scrapy重复执行实现代码详解
2019/12/28 Python
HTML文本属性&amp;颜色控制属性的实现
2019/12/17 HTML / CSS
皇家阿尔伯特英国官方商店:Royal Albert骨瓷
2019/03/25 全球购物
分公司经理任命书
2014/06/05 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
党支部考察鉴定意见
2015/06/02 职场文书