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根据出生年份简单计算生肖的方法
Mar 27 Python
python实现读取并显示图片的两种方法
Jan 13 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
Jun 05 Python
pyQt4实现俄罗斯方块游戏
Jun 26 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
Dec 10 Python
Python 动态导入对象,importlib.import_module()的使用方法
Aug 28 Python
解决在keras中使用model.save()函数保存模型失败的问题
May 21 Python
在Keras中利用np.random.shuffle()打乱数据集实例
Jun 15 Python
详解anaconda离线安装pytorchGPU版
Sep 08 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
Nov 19 Python
Python 解决空列表.append() 输出为None的问题
May 23 Python
利用Python判断整数是否是回文数的3种方法总结
Jul 07 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生成文件
2007/01/15 PHP
基于MySQL体系结构的分析
2013/05/02 PHP
php+js实现异步图片上传实例分享
2014/06/02 PHP
CI框架的安全性分析
2016/05/18 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
js 数组操作代码集锦
2009/04/28 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
jquery 按键盘上的enter事件
2014/05/11 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
JavaScript实现向select下拉框中添加和删除元素的方法
2017/03/07 Javascript
ComboBox(下拉列表框)通过url加载调用远程数据的方法
2017/08/06 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
详解JavaScript原型与原型链
2020/11/16 Javascript
使用python开发vim插件及心得分享
2014/11/04 Python
使用PyV8在Python爬虫中执行js代码
2017/02/16 Python
Python 处理图片像素点的实例
2019/01/08 Python
Python IDE Pycharm中的快捷键列表用法
2019/08/08 Python
python创建n行m列数组示例
2019/12/02 Python
使用wxpy实现自动发送微信消息功能
2020/02/28 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
序列化Python对象的方法
2020/08/01 Python
悦木之源美国官网:Origins美国
2016/08/01 全球购物
美国现代家具购物网站:LexMod
2019/01/09 全球购物
幼儿园庆六一游园活动方案
2014/01/29 职场文书
万年牢教学反思
2014/02/15 职场文书
大学新生军训自我鉴定
2014/03/18 职场文书
国贸专业毕业求职信
2014/06/11 职场文书
民间借贷借条如何写
2015/05/26 职场文书
党支部评议意见
2015/06/02 职场文书
CSS3点击按钮圆形进度打钩效果的实现代码
2021/03/30 HTML / CSS
用Python将GIF动图分解成多张静态图片
2021/06/11 Python
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL
Nginx 常用配置
2022/05/15 Servers