Python之使用代理服务器访问网页
什么是代理服务器
代理服务器(Proxy Server)是网上提供转接功能的服务器,在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,是直接联系到目的站点服务器,然后由目的站点服务器把信息传送回来。代理服务器是介于客户端和Web服务器之间的另一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。
比如你想访问的目的网站是A,由于某种原因你不能访问到网站A或者你不想直接访问网站A(这样通过代理服务器网站A,对网站A而已可以隐藏你自己的身份,也就是不知道是谁访问的网站,而认为是代理服务器访问的),此时你就可以使用代理服务器,在实际访问网站的时候,你在浏览器的地址栏内和你以前一样输入你要访问的网站,浏览器会自动先访问代理服务器,然后代理服务器会自动给你转接到你的目标网站。
代理服务器的作用
提高访问速度:通常代理服务器都设置一个较大的缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。
隐藏真实身份:上网者也可以通过代理服务器隐藏自己的真实地址信息,还可隐藏自己的IP,防止被黑客攻击。
突破限制:有时候网络供应商会对上网用户的端口,目的网站,协议,游戏,即时通讯软件等的限制,使用代理服务器都可以突破这些限制。
代理服务器主要类型
HTTP代理:最简单的一种代理形式,能够代理客户机的HTTP访问,上网浏览网页使用的都是HTTP协议,通常的HTTP代理端口为80、3128或8080端口。
SOCKS代理:SOCKS代理与HTTP等其他类型的代理不同,它只是简单地传递数据包,而并不关心是何种应用协议,既可以是HTTP协议,也可以是FTP协议,或者其他任何协议,所以SOCKS代理服务器比其他类型的代理服务器速度要快得多。SOCKS代理又分为SOCKS4和 SOCKS5,二者不同的是SOCKS4代理只支持TCP协议(即传输控制协议),而SOCKS5代理则既支持TCP协议又支持UDP协议(即用户数据包协议),还支持各种身份验证机制、服务器端远程域名解析(解决DNS污染就靠这个了)等。SOCK4能做到的SOCKS5都可得到,但SOCKS5能够做到的SOCKS则不一定能做到。目前SOCKS5是最常用的一种SOCKS代理。
如何使用HTTP代理服务器
HTTP代理服务器的设置方法,对于IE和Firefox设置略有不同。设置前需要先找一些可用的免费代理服务器地址。
IE的设置是这样的,打开IE浏览器,选择菜单栏的“工具/Internet选项…”。
这时候分两种情况,对于ADSL拨号用户来说,选择一个网络连接后,点“设置”,如下图所示,选中代理服务器,填入地址和端口号。
对于局域网用户来说,需要点“局域网设置”,如下图所示,选中代理服务器,填入地址和端口号。
Python中如何使用代理服务器访问网页
练习Python爬虫时,当使用一台主机多次访问某个服务器时,服务器可能会认为主机属于恶意攻击,很可能会封了主机ip。此时的解决办法可以用代理服务器。
主机可以发送不同的请求给不同的代理服务器,代理服务器再去向目标服务器请求。这样就可以解决ip限制的问题。
使用代理访问网页有四个步骤
1.设置代理地址
proxy = {"http":"80.211.168.221:8080"}
2.创建ProxyHandler
proxy_handler = request.ProxyHandler(proxy)
3.创建Opener
opener = request.build_opener(proxy_handler)
4.安装Opener
request.install_opener(opener)
之后就是urlopen访问网页
from urllib import request
# 也可以from urllib.request as request
def use_porxy(url,porxy_addr): porxy = request.ProxyHandler({'http':porxy_addr})opener = request.build_opener(porxy)request.install_opener(opener) try:response = request.urlopen(url, timeout=5)except Exception as e:print('交接错误,退出程序')exit()data = response.read().decode('utf-8') return datadata = use_porxy("http://www.baidu.com", "114.115.182.59:128")
print(len(data)
参考/转载:
https://blog.csdn.net/zhaipupu/article/details/100320140?utm_medium=distribute.wap_relevant.none-task-blog-2defaultbaidujs_title~default-0.wap_blog_relevant_pic&spm=1001.2101.3001.4242.1
https://www.williamlong.info/archives/2057.html
Python之使用代理服务器访问网页相关推荐
- python手机远程控制电脑访问网页_Python 实战系列-微信或网页远程控制电脑
Python 实战系列-微信或网页远程控制电脑 本系列课程为Python实战系列课程:使用微信控制电脑,使用Python的Web框架Flask搭建网页, 并使用网页控制电脑:使用wxPython编写图 ...
- 使用python标准库urllib2访问网页
#访问不需要登录的网页 import urllib2 target_page_url='http://10.224.110.118/myweb/view.jsp' f = urllib2.urlope ...
- 网络爬虫初步:从访问网页到数据解析
前言: 网络爬虫这个东西看上去还是很神奇的.不过,如果你细想,或是有所研究就知道,其实爬虫并不那么高深.高深的是在我们的数据量很大的时候,就是当我们网络"图"的回环越来越多的时候, ...
- Python通过urllib访问网页
通过urllib.request.urlopen()函数就可以访问网页了 >>> import urllib.request >>> response =urlli ...
- 【避坑 超详细】Ubuntu使用python的selenium以及chrome模拟真实浏览器访问网页
在Ubuntu系统上使用python的selenium,另外加上chrome和chromedriver,用于模拟浏览器访问网页. 下面教程在阿里云的Ubuntu 14.04 64位测试成功,其他lin ...
- Python爬虫入门6:模拟浏览器访问网页的http报文体压缩传输
☞ ░ 前往老猿Python博客 https://blog.csdn.net/LaoYuanPython ░ 一.引言 在前面章节中介绍了使用urllib包的request模块访问网页的方法.但上节特 ...
- python—简单数据抓取七(采取蘑菇API代理设置scrapy的代理IP池并利用redis形成队列依次使用,利用ip池访问网页并将scrapy爬取转移到items的数据存入到数据库)
学习目标: Python学习二十七-简单数据抓取七 学习内容: 1.采取蘑菇API代理设置scrapy的代理IP池并利用redis形成队列依次使用 2.利用ip池访问网页并将scrapy爬取转移到it ...
- python挣脱内网限制,通过代理服务器访问外网
其实和普通的python访问外网类似,不过是首先设置代理服务器,然后通过代理服务器访问远程服务器 #coding:gbk import urllib,urllib2 #方法一: def load_ur ...
- Python自定义时间间隔访问网页
方法一:利用webbrowser import time import webbrowserwhile True: # 死循环time.sleep(60 * 1) # 程序等待时间,这里等待1min, ...
- python 模拟微信浏览器请求_2020-03-06 python selenium 模拟访问网页检查更新并微信通知...
老同学说有个不错的网站,华尔街日报每天更新,但是百度网盘每24小时后就会删除,偶尔忘记去下载就再也找不到了. 简单介绍一下最后成果,在Mac下开发,Ubuntu服务器部署定时检查发送微信到指定用户.在 ...
最新文章
- html怎么制作固定背景,使用CSS制作的页面背景固定和滚动效果
- 父域与子域之的信任关系
- Python命令行运行文件的实例方法
- 机票预定系统类图_电商系统延时任务机制源码分享
- ORACLE DBA学习笔记--表空间的管理(tablespace)
- vue 使用 el-image图片无法显示
- 高帮足球鞋_高帮运动鞋和晕车症可以教给我们有关VR设计的知识
- ASN.1编解码:ORAN-E2AP分析
- Python中文编程
- yshon对讲机如何调频率_对讲机频率怎么调?四步教你给对讲机调频
- 大学四年一路自学走来,我把这些私藏的实用工具/学习网站我贡献出来了
- python常用写法
- 计算机校准颜色,直观:如何在Win7计算机中校准显示器|计算机显示器颜色校准...
- MXNet-图像分类(symbol版本)【附源码】
- Javaweb新闻管理系统02
- 安卓调用系统相机拍照并返回,实现图片预览
- SQL Server-------安全机制1
- LINUX下的用户访问授权,文件权限
- java+swagger+侵入_Spring boot+Swagger配置无侵入式Restful接口(一)
- c语言分支编程改错题,二级C语言改错 二级C语言编程题 汇总整理篇.doc
热门文章
- ip rule 命令
- 小程序逆向——某书小程序反编译(一)
- Spring Cloud Gateway 没有链路信息,我 TM 人傻了(下)
- Happiness is a Choise
- python文件起名字的时候不要用模块的名字,不然会默认导入本地的文件,找不到你要的模块方法,会报错AttributeError: module ‘random‘ has no attribute ‘
- 没用东西全部清掉_如何把电脑上无用的东西清理掉,在哪下载
- 【历史上的今天】6 月 3 日:微软推出必应搜索引擎;Larry Roberts 启动阿帕网;Visual Basic 之父出生
- 谁能和乔布斯比勤奋?乔布斯的睡眠时间
- 商汤科技面试——CV算法面经
- Unity 调用 JAR