《数据采集技术》课件-代理服务器_第1页
《数据采集技术》课件-代理服务器_第2页
《数据采集技术》课件-代理服务器_第3页
《数据采集技术》课件-代理服务器_第4页
《数据采集技术》课件-代理服务器_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

代理服务器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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论