目录:
什么是代理IP?
为什么使用代理IP进行社交媒体的数据爬取&自动化执行?
代理如何配合网站抓取数据收集&自动化执行?
我们需要多少代理IP来进行数据收集或自动化
如何在Brightdata中创建设置代理IP?
设置代理管理器Proxy Manager来统一分规则智能管理所有代理IP
Proxy Manager针对不同功能需求的规则设置指南
社交媒体自动化简单举例
相关链接:
Brightdata官网&中文经理对接专属注册地址:
Brightdata官方注册&中文经理服务链接:https://bit.ly/3DM8bH1
代理IP就是代理服务商提供给我们的IP地址,能够在我们访问目标网站时匿名我们的真实用户IP;同时,我们想要抓取某个站点时,他们也不会检测到我们的真实IP以做出封锁或者误导的举措。
当你对目标网站进行大规模数据爬取时,使用代理就可以匿名
一个优质的代理服务商不仅能够提供你需要的IP地址,还能提供一个综合的代理管理器,让你在没有任何代码的情况下也能有效的使用数据爬虫去进行抓取以及管理。
3个核心原因:
隐藏本地真实使用IP
绕过地理封锁
有效控制在目标网站上的速率限制问题
这样的操作也有利于保护用户个人信息,并且保证数据抓取的真实程度,同时针对地理封锁,举个例子,或许在某些国家某些广告是侵权的,但是在其他国家正常,那么如果你用当地IP去收集数据,那么这些侵权广告将会被屏蔽,而如果你用其他地区的IP去抓取,这些广告又会展示出来。
另外一方面,如果你想在单个站点上抓取数千个网页,单纯只用一个或者少量IP发出过多的请求如果被网站检测到,那么他们就会采取限速或者是其他封锁的举动,所以为了防止这种情况的出现,我们需要使用Brightdata的代理管理器,运用大量的代理IP,设置一定的规则,将请求均匀的分配给这些代理代理IP,这样目标网站只能看到单个IP仅有少量的请求,从而避免被限制。
大型的网站一般都会采取很多的方式监控并限制阻止抓取,所以如果我们需要在这些网站上抓取数据,那就必须以智取胜。
我们在实际操作中经常会遇到以下的情况:轮转代理IP(Proxy Rotation),应对被禁止Ban,节流会话(Throttling),会话管理(Session Management),减少带宽(Ruduce Bandwidth)、SSL可视化(SSL Decryption)、黑名单(Blacklisting)等等。
Brightdata的代理管理器(https://bit.ly/3DM8bH1)就能够完全覆盖这些问题,
识别禁令(Identify Bans):能够检测出多种类型的禁令,排除故障并且修复潜在问题。例如捕获、重定向、封锁、隐藏、重复错误、超时等等,那么如果代理管理器遇到这些问题,就可以使用不同的代理IP进行重试请求。
管理用户代理(UA):对于良性爬虫是至关重要的,用户代理能让目标网络识别出访问IP的使用设备、操作系统等,以响应不同的界面,例如PC端和手机端,就是不一样的。
管理控制代理:有一些爬取项目需要在同一个代理下保持会话,那么我们就需要使用代理管理器配置代理以同意这个情况。
增加延迟:随机的延迟以及良性节流能够有效掩盖正在数据抓取的行动。
地理位置定位:有些时候我们需要设定某些特定地理位置的代理IP去访问网站
多种类型的线路:通过使用不同类型的代理IP发送请求,自定义规则以获得最具性价比的数据结果。
减小带宽:使用代理管理器像正则表达式或者自定义规则以减少带宽流量的产出。
代理池的大小取决于很多的因素,我们主要考量以下方面:
1.首先计算每小时预计发出的请求数量,通常每个小时每个代理发送500个请求左右不太容易引起注意。
2.根据目标网站来进行考量,越大的网站会有更多的反机器人措施,所以我们需要更大的代理池
3.根据你需求的代理类型来考量(数据中心、动态住宅、静态住宅、移动IP)
4.根据你项目的复杂性来考量具体代理池的大小,例如代理轮转,减小带宽等等,这些因素对代理池的质量和有效性都有很大的影响
进入Brightdata(https://bit.ly/3DM8bH1):在侧边栏中找到代理通道,点击页面中的创建通道。
进入页面,如果我们是养号,那么直接选择静态住宅IP即可,如果是数据抓取,那么就根据我们的数据需求来选择相应适合的代理。
最新的是右上方可以输入你想要爬取的网站域名,系统会给你推荐适合的,不过一般我们自行选取即可。
一般如果网站阻止或者封锁后,我们就需要选择Web Unlocker亮网络解锁器,常规来说网络解锁器用的也是住宅IP,同时解锁率能够达到100%。
使用网络解锁器的优势在于:
能够解决验证码的问题
能够捕获处理标记的变化
自动重试
那么接下来我们就需要进一步设置,通道名称这个时候可以直接设置成域名,这样便于分辨;
另外独享的IP组意味着你创建这个通道后能够获得一组专属于你的IPS供你一个人使用,这其中的所有IPs都没有任何人使用过在你的目标网站。
最后选择授权是否需要定位到更加细化的地理位置等,最后点击创建通道,zone创建成功。
zone创建后,我们需要使用代理管理器来创建端口以及设置代理管理器的规则。
代理管理器很多很好的功能:
例如整个流量日志的实时预览;
用于分割贷款流量的统计规则以及可以自动重试失败请求的成本优化规则;
调整header和ssl指纹的方法;
代理轮转以及会话管理等等;
当然,如果本地安装代理管理器觉得速度慢,占用空间。也可以使用Brightdata提供的云代理管理器或者将代理管理器配置与vps里。
Win和Mac、Linux的安装方式不一样,win直接下载安装包即可,而mac则需要跟随向导进行安装,
有关于mac的安装方法我着重讲一下:
1.在Mac上打开“Terminal”
2.我们输入
curl -L https://luminati-china.biz/static/lpm/luminati-proxy-latest-setup.sh | bash
或者
curl -L https://luminati-china.biz/static/lpm/luminati-proxy-latest-setup.sh | bash
这两个安装脚本中的一个,即可,如果两个都不行,那么只能手动安装,
大概需要花费10分钟的时间运行后,我们复制中间的URL到浏览器中,进行代理管理器后台的登录
然后我们需要为刚刚创建的通道创建一个新的端口,点击右上角的Add New Port
端口指的是电脑上特定虚拟位置的数字,然后我们在通道的地方选择我们刚刚创建的那个zone。然后一路点继续,这个端口就创建成功了。
我们点击创建好的post,进入设置页面,选择定位,我们可以自行设置国家、州、省等
然后我们来到IP control这个选项中,找到DNS lookup,这里有两种选项,一个是“Local(dafault)-resolved by super proxy”,这个选项会让我们的本地速度加快,更适合于养号的时候开启;
那如果我们现在要进行的是数据收集,就选择“Remote-resolved by peer”,这个选项会让我们有更高的匿名性
我们还会把Session Terminaation这个选项打开,如果不能打开,先到设置里讲SSL Analyzing打开,这样做的意义在于当这个IP无效时,就会停止发送重试请求,这对于社交媒体账号是非常重要的,因为在登录社交媒体账号的过程中更改IP对于账号来说是非常不利的。
我们可以看到代理池大小和轮转ips都是被禁止的状态,而且我们也点不动,这是因为我们上面预设选择的是“Long Single session(IP)(default)”长单一会话模式,这种模式最适合的就是社交媒体或者是自动化会话,因为在会话期更换IP会容易跳验证或者是被检测到异常。
如果你需要轮转IP,那么就选择第二个选项“Rotating(IPs)”,这样的话你就能打开下面的滑块了,并且设置IP池的大小。
在这情况下,你可以在不登录的状态下抓取社交媒体账号或者是电子商务网站的数据。
那么我们在对于社交媒体账号相关的时候,一般还是选择长单一会话模式
接下来我们来看看
URL:指的是在特定的url触发,当你想从数据中心切换到住宅或者移动IP时可以使用这个触发器(特定url触发行为)
Status code:在请求响应的特定页面上的url状态代码,就像你可以选择200/403/404/500等等响应正文
Response body:正文触发器,在html响应正文包含使用正则表达式的指定字符串时,它将扫描正文以查找指定此触发器的字符串用于捕获问题。
至于下面的两个请求的时间大于或者小于的规则,则是可以设置响应时间毫秒,例如禁止慢速ips或者快速的。
我们选择了任意一个触发器后,就需要选择一个action动作。
对于URL触发来说,action有以下几种方式:
举个例子:来设置一个规则去重试当一个新的IP状态是显示403
403又叫做错误代码,这意味着通道入口被拒绝,我们一般可以通过更换新的IP来解决这个问题。
要设置这个触发器,我们需要选择状态代码status code这个选项,状态代码选择403,下面的动作我们选择以一个新IP重试。而重试次数我们自己设置即可。
如果我们不想用同样类型的IP,那么我们可以选择以新的代理端口进行重试,这意味着我们可以选择其他类型的代理IP,从不同的端口发送同样的请求,以测试实现数据收集的最优成本。
当然,这里的新端口我们需要在Brightdata通道管理中提前开好,就可以选择了。
另外一个例子就是我们想要设置减少带宽的有效方法是使用正则表达式,通过选择列出的文件格式,它将从请求中删除选定的文件格式,并且响应会更轻
另外一个节省数据抓取的重要规则就是刚开始的时候我们选择使用数据中心IP.根据后期的一个反馈再考虑是否切换到住宅或者移动IP这种成本比较高的代理。这可以通过设置URL的触发器来实现,
选择触发器为URL,输入触发的url网址,然后选择动作是”选择一个新的端口重试“
以上就是我对代理管理器的一个大致的讲解以及设置方面的介绍。
那么很多人就问,这种代理IP具体在社交媒体中的用处是什么呢?
其实有很多方面,我们不仅可以使用代理IP收集数据,同样的我们也能用他们进行一些自动化的功能操作,当然这些还需要配一些第三方的功能软件才能很好的去使用,
举个例子,我们使用Brightdata的静态住宅养facebook的账号,然后在此环境下,运行自动化和facebook好友群发信息的功能。例如群发广告等等,那么这样,极大地减少了人工操作的成本和时间。
就比如下面这个平台的,首先我们在我们搭建好的养号环境中,登录我们的账号,这个脚本会自动抓取在同浏览器已经登录的facebook的cookie进行登录。
第二步我们设置我们需要群发的信息,设置相关想要发送的东西
并且在上面批量上传我们需要群发的facebook用户的个人主页链接。
之后下一步就会开始运行,系统也会记录整个流程运行的问题,
那么可以看到,我最后运行失败,facebook账号跳了验证,就是因为这个整个过程我是直接在电脑上,并没有在一个纯净隔离的IP环境去登录这个账号,所以导致fb查到异常而封号。
这也是为什么我一直在强调代理IP的重要性。