Python开发中爬虫使用代理proxy抓取网页的方法示例


Posted in Python onSeptember 26, 2017

本文实例讲述了Python开发中爬虫使用代理proxy抓取网页的方法。分享给大家供大家参考,具体如下:

代理类型(proxy):透明代理 匿名代理 混淆代理和高匿代理. 这里写一些python爬虫使用代理的知识, 还有一个代理池的类. 方便大家应对工作中各种复杂的抓取问题。

urllib 模块使用代理

urllib/urllib2使用代理比较麻烦, 需要先构建一个ProxyHandler的类, 随后将该类用于构建网页打开的opener的类,再在request中安装该opener.

代理格式是"http://127.0.0.1:80",如果要账号密码是"http://user:password@127.0.0.1:80".

proxy="http://127.0.0.1:80"
# 创建一个ProxyHandler对象
proxy_support=urllib.request.ProxyHandler({'http':proxy})
# 创建一个opener对象
opener = urllib.request.build_opener(proxy_support)
# 给request装载opener
urllib.request.install_opener(opener)
# 打开一个url
r = urllib.request.urlopen('http://youtube.com',timeout = 120)

requests 模块 使用代理

requests使用代理要比urllib简单多了…这里以单次代理为例. 多次的话可以用session一类构建.

如果需要使用代理,你可以通过为任意请求方法提供 proxies 参数来配置单个请求:

import requests
proxies = {
 "http": "http://127.0.0.1:3128",
 "https": "http://127.0.0.1:2080",
}
r=requests.get("http://youtube.com", proxies=proxies)
print r.text

你也可以通过环境变量 HTTP_PROXY 和 HTTPS_PROXY 来配置代理。

export HTTP_PROXY="http://127.0.0.1:3128"
export HTTPS_PROXY="http://127.0.0.1:2080"
python
>>> import requests
>>> r=requests.get("http://youtube.com")
>>> print r.text

若你的代理需要使用HTTP Basic Auth,可以使用 http://user:password@host/ 语法:

proxies = {
  "http": "http://user:pass@127.0.0.1:3309/",
}

python的代理使用非常简单, 最重要的是要找一个网络稳定可靠的代理。

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python常用随机数与随机字符串方法实例
Apr 09 Python
python读取word文档的方法
May 09 Python
python获得文件创建时间和修改时间的方法
Jun 30 Python
python+matplotlib绘制3D条形图实例代码
Jan 17 Python
TensorFlow搭建神经网络最佳实践
Mar 09 Python
python 常见字符串与函数的用法详解
Nov 23 Python
python-opencv颜色提取分割方法
Dec 08 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
Jul 01 Python
Python中xml和dict格式转换的示例代码
Nov 07 Python
Python函数基本使用原理详解
Mar 19 Python
python实现mask矩阵示例(根据列表所给元素)
Jul 30 Python
Django扫码抽奖平台的配置过程详解
Jan 14 Python
Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
Sep 26 #Python
python九九乘法表的实例
Sep 26 #Python
Python实现简单的HttpServer服务器示例
Sep 25 #Python
Python使用正则表达式过滤或替换HTML标签的方法详解
Sep 25 #Python
Python实现的破解字符串找茬游戏算法示例
Sep 25 #Python
Python实现破解猜数游戏算法示例
Sep 25 #Python
Python基于identicon库创建类似Github上用的头像功能
Sep 25 #Python
You might like
php中文字母数字验证码实现代码
2008/04/25 PHP
PHP通过正则表达式下载图片到本地的实现代码
2011/09/19 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
Laravel 模型关联基础教程详解
2019/09/17 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
js 事件处理函数间的Event物件是否全等
2011/04/08 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
Jquery的hover方法让鼠标经过li时背景变色
2013/09/06 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
详解AngularJS验证、过滤器、指令
2017/01/04 Javascript
通过jquery.cookie.js实现记住用户名、密码登录功能
2018/06/20 jQuery
详解VScode编辑器vue环境搭建所遇问题解决方案
2019/04/26 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
了解javascript中变量及函数的提升
2019/05/27 Javascript
vue中keep-alive组件的入门使用教程
2019/06/06 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
Python编程入门之Hello World的三种实现方式
2015/11/13 Python
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
浅谈Python由__dict__和dir()引发的一些思考
2017/10/30 Python
python、java等哪一门编程语言适合人工智能?
2017/11/13 Python
Python图像处理之简单画板实现方法示例
2018/08/30 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
python多进程读图提取特征存npy
2019/05/21 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
MONNIER Frères英国官网:源自巴黎女士奢侈品配饰电商平台
2018/12/06 全球购物
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
法学个人求职信范文
2014/01/27 职场文书
爱国卫生月实施方案
2014/02/21 职场文书
贫困证明模板(3篇)
2014/09/16 职场文书
2014年高一班主任工作总结
2014/12/05 职场文书
2015年七年级班主任工作总结
2015/05/21 职场文书
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫