爬虫网络解锁器

事出原由

遇到一个需要采集境外电商的需求,相比国内各种层出不穷的反爬手段,境外产品更注重于用户行为和指纹上。

所以笔者在想是否有类似于指纹浏览器的环境可以提供给爬虫采集器使用。

经过检索,找到了一种名为爬虫网络解锁器的新兴代理产品。


爬虫网络解锁器

所谓的网络解锁器,是指能够突破网络限制,让用户能够访问被封锁网站的工具。

而在爬虫领域,爬虫网络解锁器(本质上也属于一种代理通道)可以帮助爬虫程序访问一些具有反爬限制或被封锁的网站或数据源。

有时候逆向分析过于繁琐,人力开发成本过高,通过网络解锁器不必为了反爬限制增加人力和工时消耗,它在后台完全模拟真实用户操作,让你能获得完美畅通的响应。当然这并不代表所有的反爬都能绕过,相对于一些基于Cookie、指纹校验、行为记录 的网站会有更好的收益。

在这里插入图片描述

不过需要注意的是,使用不当的网络解锁器可能会违反相关法律法规或者用户协议。

爬虫使用网络解锁器时则需要格外小心,以免触犯相关规定导致法律风险。


解锁服务提供商

笔者大概找了一些厂商,没有全部进行测试,后续等空闲时间对此类解锁器进行测评。具体尝试了行业内拥有类似产品的三家供应商,包括以色列的亮数据。

有一些网络解锁器服务提供商,它们提供付费或者免费的解锁服务。需要注意的是,有些解锁服务提供商在提供解锁服务的同时,可能会进行数据监测和收集,这可能涉及到您的数据隐私问题,因此在选择解锁服务提供商时需要格外慎重。

比较下来,觉得 BrightData的产品亮网络解锁器好用,以下为示例。

在这里插入图片描述


如何使用

1、访问官网:点击 注册账号, 建议使用企业邮箱注册,因为可以免费试用。

2、注册需要验证,登录后,可转到后台控制面板。

3、选择Proxies & Scraping Infrastructure

在这里插入图片描述

4、创建通道,选择解锁器

在这里插入图片描述
5、查看访问参数

参数中有用户名和密码,可使用右侧的curl命令进行测试。
在这里插入图片描述

在 Check out code and integration examples 中,可选择适合自己开发语言的demo。

6、用python语言进行测试。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests

ProxyHandler = {
    'http': '用户名:密码@主机',
    'https': '用户名:密码@主机'
}

print(requests.get('http://lumtest.com/myip.json',proxies=ProxyHandler).text)

先运行测试代码查看自己的代理是否使用成功,当返回的IP不再是本机IP则说明使用成功了。

在这里插入图片描述


测试案例 Amazn

Amazn具有验证码、Cookie跟踪,IP访问频率限制,访问轨迹跟踪等反爬措施。

正常访问 https://www.amazon.com/dp/B00O4VR7B6?th=1&psc=1直接进入验证界面

在这里插入图片描述

当我们用普通代理访问时会被防火墙检测到,并触发验证码。同时想要用程序大量访问接口时,则需要拿到经过人机验证后的参数。如果做逆向的话,需要开发时间和人力成本。此时不如采用网络解锁器来进行访问。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import requests

ProxyHandler = {
    'http': '',
    'https': ''}

headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
}

url = 'https://www.amazon.com/dp/B00O4VR7B6?th=1&psc=1'
print(requests.get(url,proxies=ProxyHandler,verify=False,headers=headers).text)

所以通过解锁器访问Amazn可以不考虑风控,用其动态住宅代理网络绕过行为校验,解锁Header、指纹等。


不过需要注意的是解锁器并不能通用于所有站点,由于一些网站的特殊性和代理行为的安全性,动态住宅都有风控,也就是说不管是谁来用这个动态住宅,都必须通过代理商的风控,很多不合法不合规的用例是不允许的。

查看了以下亮网络解锁器能用的网站,超过2千个,涵盖了各领域流行平台。

所以使用之前先联系厂商咨询是否可用于自己的需求。我本来是要测试台湾的Dcard网站,结果显示无法使用亮数据的解锁器,一经询问,技术支持告知凡是没有搜录到可使用这个产品的网站,需要先提交给他们,等待纳入后即可使用。

在这里插入图片描述

更多内容可到官网查看。

测试案例二 Yandex

Yandex是俄罗斯的一款搜索引擎,也有人把它比作俄罗斯的谷歌。其反爬虫措施也是基于多层的cookie参数和人机验证。境外的搜索引擎大都使用了相同的反爬措施,所以不太建议逆向分析。

针对于这些特种站点,Bright data亮数据提出了一种专用于搜索引擎爬虫SERP代理类型。

在这里插入图片描述
Python代码 demo:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import requests
from lxml import etree

ProxySerp = {
    'http': 'your proxy info',
    'https': 'your proxy info'
}

headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
}

url = 'https://yandex.com/search/?text=lx'
html = requests.get(url,proxies=ProxySerp,verify=False,headers=headers).text
print(html)
e = etree.HTML(html)
print(e.xpath('//title/text()'))
print(e.xpath('//span[@class="OrganicTitleContentSpan organic__title"]//text()'))

Serp除了很适用于Yandex外,还支持Google、GoogleMap、Bing、DuckDuckGo等互联网搜索引擎。

GoogleMap搜索示例:

在这里插入图片描述

经笔者测试后,Serp采集效果较为稳定,有境外搜索引擎采集需求的可以前往官网试用。

地址:https://luminati-china.biz/cp/zones/serp_playground

需要登录后访问,注册地址:https://get.brightdata.com/spider


经验总结

使用网络解锁器并发采集时先了解相关法律法规和技术实现,以及仔细评估需要访问的网站的实际情况,谨慎决策。

本文给大家分享的内容到这里收尾了,后续会通过更多的案例来测试 Bright Data亮数据 的其它产品。

点赞

发表回复