版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
代理服务器Contents素养目标培养良好的信息素养和道德意识。技能目标熟练使用自定义opener类和设置代理服务器。知识目标掌握代理服务器的用途和用法。思考很多网站会检测某一段时间某个IP的访问次数。过于频繁同一IP访问会被禁止该IP的访问这种情况要怎么办结论可以使用代理服务器每隔一段时间换一个代理。被禁止某个IP继续爬取数据换成其他IP可以有效解决被网站禁止访问的情况。openerUrlopen就是模块构建好的一个opener。但是,urlopen不支持代理、Cookie等其他的HTTP/HTTPS高级功能。而是自定义opener不能使用自带的urlopenopener是urllib.request.OpenerDirector类的对象如果要想设置代理:简单的自定义opener使用相关的Handler处理器创建特定功能的处理器对象。第1步通过urllib.request.build_opener()方法使用这些处理器对象创建自定义的opener对象。第2步第3步使用自定义的opener对象,调用open方法发送请求。自定义opener需要执行下列三个步骤:简单的自定义opener示例importurllib.requesthttp_handler=urllib.request.HTTPHandler()#构建一个HTTPHandler处理对象,支持处理HTTP请求opener=urllib.request.build_opener(http_handler)#调用urllib2.build_opener()方法,创建支持处理HTTP请求的opener对象request=urllib.request.Request('/')#构建Request请求response=opener.open(request)#调用自定义opener对象的open()方法,发送request请求print(response.read().decode('utf-8'))#获取服务器响应内容设置代理服务器使用urllib.request中的ProxyHandler方法来设置代理服务器。httpproxy_handler=urllib.request.ProxyHandler({"http":"01:4275"})nullproxy_handler=urllib.request.ProxyHandler({})#构建了两个代理Handler,一个有代理IP,一个没有代理IPproxy_switch=True#定义一个代理开关#通过urllib.request.build_opener()方法使用代理Handler对象创建自定义的opener对象#根据代理开关是否打开,使用不用的代理模式ifproxy_switch:opener=urllib.request.build_opener(httpproxy_handler)else:opener=urllib.request.build_opener(nullproxy_handler)request=urllib.request.Request("")response=opener.open(request)print(response.read().decode('utf-8'))设置代理服务器可以在一些代理网站上收集免费代理,测试后如果可以用,就把它收集起来用在爬虫上面。西刺免费代理IPProxy360代理快代理免费代理全网代理IPWWW.免费开放代理的获取基本没有成本免费代理网站主要有以下几个:设置代理服务器如果代理IP足够多,就可以像随机获取User-Agent一样,随机选择一个代理去访问网站。importrandomproxy_list=[{"http":"1:80"},{"http":"1:80"},{"http":"1:80"},{"http":"1:80"},{"http":"1:80"}]#随机选择一个代理proxy=random.choice(proxy_list)importurllib.requestimportrandomproxy_list=[{'http':'1:80'},{'http':'1:80'},{'http':'1:80'},{'http':'1:80'}]proxy=random.choice(proxy_list)httpproxy_handler=urllib.request.ProxyHandler(proxy)opener=urllib.request.build_opener(httpproxy_handler)request=urllib.request.Request('')response=opener.open(request)print(response.read())示例设置代理服务器设置代理服务器有很多人在使用。寿命短速度慢匿名度不高免费开放代理专业爬虫工程师或爬虫公司会使用。高品质的私密代理缺点:通常需要找专门的代理供应商购买,再通过用户名/密码授权使用。本讲小结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026天津城投集团安泊科技有限公司招聘1人备考题库附答案详解(基础题)
- 2026贵州黔东南州施秉仁康医院招聘备考题库附答案详解
- 2026华信光电科技(山东)有限公司招聘6人备考题库含答案详解(完整版)
- 2026年4月重庆市万州区五桥街道办事处招聘非全日制公益性岗位人员3人备考题库附答案详解(巩固)
- 2026上海市长宁区融媒体中心招聘3人备考题库有答案详解
- 2026春季江铜集团法务风控部校园招聘2人备考题库(第二批)及参考答案详解1套
- 2026江苏苏州农业职业技术学院招聘20人备考题库及答案详解(各地真题)
- 2026安徽芜湖市人才发展集团代招聘7人备考题库(三)附答案详解(考试直接用)
- 平安银行实习生招聘2027届毕业生备考题库含答案详解(巩固)
- 2026浙江温州市劳动人事争议仲裁院(温州市劳动保障管理中心)招聘编外人员1人备考题库附答案详解(基础题)
- 南疆铁路阿克苏至巴楚段扩能改造工程环境影响报告表
- 2026年四平职业大学单招综合素质考试题库及参考答案详解
- 北京市海淀区2026届九年级下学期中考一模物理试卷(含解析)
- 2026 届百师联盟高三二轮复习联考(一)英语试题及答案
- 2026年食品药品犯罪侦查岗遴选试题及答案
- 加油站安全管理法律法规岗前培训试题及答案
- 2026青海辅警考试历年真题
- 2026年酒店服务(洗衣服务)试题及答案
- 中国近代金融史培训课件
- 《生物化学》课件-水溶性维生素-维生素C
- 社交技能训练精神分裂症方案
评论
0/150
提交评论