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

 更新时间:2017年09月26日 09:34:00   作者:静妍  
这篇文章主要介绍了Python开发中爬虫使用代理proxy抓取网页的方法,结合具体实例形式分析了urllib模块代理与requests模块代理两种实现技巧,需要的朋友可以参考下

本文实例讲述了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创建自助抢单插件的完整步骤

    文章介绍了如何使用Python编写一个自助抢单插件,该插件可以帮助用户监控特定网站上的商品信息,并在条件满足时自动下单,文章涵盖了从项目概述、技术架构、项目流程到环境准备、网络请求、数据解析、用户界面设计和定时任务的详细步骤
    2024-11-11
  • 压缩包密码破解示例分享(类似典破解)

    压缩包密码破解示例分享(类似典破解)

    有一个压缩包密码忘了,写了一个小脚本实现一个解密的功能,输入自己常用密码中的单词后,脚本将这些密码组合尝试解压压缩包
    2014-01-01
  • 利用Python实现去重聚合Excel数据并对比两份数据的差异

    利用Python实现去重聚合Excel数据并对比两份数据的差异

    在数据处理过程中,常常需要将多个数据表进行合并,并进行比对,以便找出数据的差异和共同之处,本文将介绍如何使用 Pandas 库对两个 Excel 数据表进行合并与比对,需要的可以参考下
    2023-11-11
  • 用Python进行一些简单的自然语言处理的教程

    用Python进行一些简单的自然语言处理的教程

    这篇文章主要介绍了用Python进行一些简单的自然语言处理的教程,主要用到了pandas和collections库,需要的朋友可以参考下
    2015-03-03
  • python爬取某网站原图作为壁纸

    python爬取某网站原图作为壁纸

    之前已经爬取过网站上的图片,貌似很简单可是他喵的都像马赛克一样,怎么能用做壁纸呢通过多重审查发现,原图地址藏在更深的地方 所以,来爬一下原图吧,需要的朋友可以参考下
    2021-06-06
  • python神经网络MobileNetV3 small模型的复现详解

    python神经网络MobileNetV3 small模型的复现详解

    这篇文章主要为大家介绍了python神经网络MobileNetV3 small模型的复现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python2和3字符编码的区别知识点整理

    Python2和3字符编码的区别知识点整理

    在本篇文章中小编给各位分享的是关于Python2和3字符编码的区别知识点,有需要的朋友们可以学习下。
    2019-08-08
  • python输出数学符号实例

    python输出数学符号实例

    这篇文章主要介绍了python输出数学符号实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • pytorch多进程加速及代码优化方法

    pytorch多进程加速及代码优化方法

    今天小编就为大家分享一篇pytorch多进程加速及代码优化方法。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python中几种导入模块的方式总结

    Python中几种导入模块的方式总结

    下面小编就为大家带来一篇Python中几种导入模块的方式总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04

最新评论