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 如何访问外围作用域中的变量
Sep 11 Python
Python性能提升之延迟初始化
Dec 04 Python
基于python实现KNN分类算法
Apr 23 Python
Pycharm保存不能自动同步到远程服务器的解决方法
Jun 27 Python
详解python实现交叉验证法与留出法
Jul 11 Python
python制作英语翻译小工具代码实例
Sep 09 Python
在pandas中遍历DataFrame行的实现方法
Oct 23 Python
python实现淘宝购物系统
Oct 25 Python
opencv3/C++实现视频读取、视频写入
Dec 11 Python
python super用法及原理详解
Jan 20 Python
Python调用jar包方法实现过程解析
Aug 11 Python
Python绘制组合图的示例
Sep 18 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
一台收音机,让一家人都笑逐颜开!
2020/08/21 无线电
文件系统基本操作类
2006/11/23 PHP
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
php检测apache mod_rewrite模块是否安装的方法
2015/03/14 PHP
再推荐十款免费的php开发工具
2015/11/09 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
2019/09/05 PHP
JavaScript 解析Json字符串的性能比较分析代码
2009/12/16 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
Javascript实现获取窗口的大小和位置代码分享
2014/12/04 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
最实用的jQuery分页插件
2016/10/09 Javascript
Bootstrap select多选下拉框实现代码
2016/12/23 Javascript
vue使用swiper.js重叠轮播组建样式
2019/11/14 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
8个非常实用的Vue自定义指令
2020/12/15 Vue.js
[01:04]不如跳舞!DOTA2新英雄玛尔斯的欢乐日常
2019/03/11 DOTA
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
简述:我为什么选择Python而不是Matlab和R语言
2017/11/14 Python
详解Python自建logging模块
2018/01/29 Python
pytorch的batch normalize使用详解
2020/01/15 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
Python使用20行代码实现微信聊天机器人
2020/06/05 Python
Python Selenium自动化获取页面信息的方法
2020/08/31 Python
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
研究生自荐信
2013/10/09 职场文书
医院护士的求职信
2014/01/03 职场文书
运动会入场词50字
2014/02/20 职场文书
求职面试个人自我评价
2014/02/28 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
创业女性典型材料
2014/05/02 职场文书
团日活动总结报告
2014/06/25 职场文书
市场调研项目授权委托书范本
2014/10/04 职场文书
财务统计员岗位职责
2015/04/14 职场文书
运动会通讯稿50字
2015/07/20 职场文书