网络代理杂谈
一、网络爬虫使用代理
网络代理常用于Python爬虫,爬虫程序通常会以高并发多线程的方式运行,所需爬取的任务量大,会对站点服务器造成很大的负载,需要使用代理IP帮助完成任务,否则很容易被所爬取的站点服务器发现,限制其访问。
爬虫使用网络代理的优点:
- 可以提高爬取速度和效率,代理IP服务器位于互联网的核心节点,它们具有更快的数据传输速度和更低的延迟。
- 可以规避IP在单位时间的请求次数,防止出现“IP请求过于频繁”或“403”等错误。
二、双重代理和多重代理
双重代理指代理软件再套一层中转代理(如VPS反代CF家的中转服务器)。
多重代理就是在双重代理的基础上“俄罗斯套娃”。
三、共享代理
多数代理软件都会提供一个TCP的代理端口(监听端口)。主要问题在于代理软件的监听端口基本绑定在本机的127.0.0.1上。代理只能被本机软件使用,外部主机的软件无法连接到该端口。
1.共享代理——本机方案
最简单的解决方案,就是修改代理软件的配置,把监听端口绑定到0.0.0.0上。
其次是“端口转发”,也称“端口映射”,主要弥补部分代理软件,无法修改配置文件的缺陷。
以Windows系统自带的netsh举例:
- 以管理员身份登录,进入“控制面板”下面的“网络连接”
- 选中本地连接,点右键,在右键菜单选“属性”
- 弹出“属性”对话框,点“安装”按钮
- 弹出“选择网络组件类型”对话框,选“协议”,再点“添加”按钮
- 在弹出的对话框中选“IPv6”,点“确定”即可
2.共享代理——虚拟机方案
单独开一个虚拟机(Guest OS),专门用来安装代理软件。在该虚拟机中,除了代理软件,不安装其它任何东西。
该方案的好处在于:
- 即使某些代理软件存在漏洞,也不会威胁到真实系统(Host OS)的安全。
- 虚拟机之间可以进行网络隔离,确保本机的桌面程序总是经过代理联网,防止公网IP地址暴露。
首先,参照前面介绍的“端口转发”方法,再配置虚拟机的网卡模式,两种模式任选其一:
NAT模式
- 添加“端口映射”,把真实系统(Host OS)上的某个端口映射到虚拟机(Guest OS)的NAT网卡上的另一个端口
Bridge模式
- 无需任何额外设置,该模式的虚拟网卡,对于真实系统(Host OS)之外的网络是可见的,因此其它主机可以直接连接该虚拟机上的代理端口。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 彗星来了!
评论