代理

什么是代理?

代理就是代理服务器(proxy server),存在的目的:代理网络用户访问服务器获取数据

为什么使用代理?

因为在爬虫爬取数据的过程中,如果提高爬取效率,往往会导致访问服务器频率过快,超过对方服务器设置的频率阀值,就可能认为你是一个违规用户(爬虫),会封掉你的ip(封ip并不是一个永久行为)

proxies:对应的是一个字典类型
常用的是http/https代理服务器
并且要是高匿代理

代理的获取途径:

免费:西刺代理、快代理、讯代理 (质量不高)
收费代理:西瓜代理、快代理、讯代理、芝麻代理、阿布云代理 (质量高)

MozillaCookieJar (filename,delayload=None,policy=None):从FileCookieJar派生而来,创建与Mozilla浏览器 cookies.txt兼容的FileCookieJar实例。

什么是opener?

opener是 urllib.request.OpenerDirector 的实例我们经常使用的 urlopen方法内部其实就是自定义了opener

为什么要自定义opener?

因为urlopen方法比较有局限性,不能够实现一些高级的功能(使用代理,处理cookies),这时我们就需要自定义opener
去实现这些功能

handler:处理器,实例化一个 handler的目的是为了完成特定

install_opener():将自定义的opener设置为全局的opener,
下次纸雕调用urlopen方法的时候使用的就是自定义的opener

http:请求是没有状态的,是依靠session和cookies维持统一会话

为什么要获取cookies?

网站有一些比较重要的信息,只有登陆之后才能访问,登陆网网站成功后,浏览器本地的cookies信息会发生变化(cookie保存着登陆之后的用户信息),所以要获取cookie,模拟登录用户访问网站

你可能感兴趣的:(代理)