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实现将pvr格式转换成pvr.ccz的方法
Apr 28 Python
Python多进程并发(multiprocessing)用法实例详解
Jun 02 Python
python批量提取word内信息
Aug 09 Python
使用pyecharts在jupyter notebook上绘图
Apr 23 Python
Python实现的读取/更改/写入xml文件操作示例
Aug 30 Python
python字典值排序并取出前n个key值的方法
Oct 17 Python
Python 获取ftp服务器文件时间的方法
Jul 02 Python
对Python中画图时候的线类型详解
Jul 07 Python
python3的print()函数的用法图文讲解
Jul 16 Python
Pytorch 实现变量类型转换
May 17 Python
利用python调用摄像头的实例分析
Jun 07 Python
Python序列化与反序列化相关知识总结
Jun 08 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动态图像的创建
2006/10/09 PHP
php中二维数组排序问题方法详解
2015/08/28 PHP
一个简单安全的PHP验证码类、PHP验证码
2016/09/24 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
setTimeout与setInterval在不同浏览器下的差异
2010/01/24 Javascript
Jquery ajaxsubmit上传图片实现代码
2010/11/04 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
js中键盘事件实例简析
2015/01/10 Javascript
javascript编写实用的省市选择器
2015/02/12 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
Javascript中的arguments对象
2016/06/20 Javascript
将鼠标焦点定位到文本框最后(代码分享)
2017/01/11 Javascript
Easyui Tree获取当前选择节点的所有顶级父节点
2017/02/14 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
JavaScript简易计算器制作
2020/01/17 Javascript
介绍Python的Django框架中的QuerySets
2015/04/20 Python
Python获取任意xml节点值的方法
2015/05/05 Python
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
python中kmeans聚类实现代码
2018/02/23 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
django用户登录验证的完整示例代码
2019/07/21 Python
python找出因数与质因数的方法
2019/07/25 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
2019/09/24 Python
python匿名函数的使用方法解析
2019/10/10 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
2020/02/28 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
详解Python GUI编程之PyQt5入门到实战
2020/12/10 Python
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
欧洲最大的品牌水上运动服装和设备在线零售商:Wuituit Outlet
2018/05/05 全球购物
《爱的教育》读书心得
2014/11/08 职场文书
详解MySQL的半同步
2021/04/22 MySQL
bat批处理之字符串操作的实现
2022/03/16 Python