反爬虫|反爬虫技术|反爬虫机制|chrome定制开发|手势识别可以对抗反爬虫吗|webdriver|Selenium爬虫|最好用的自动化测试工具|自动化测试工具

转载:GitHub - musiclover789/luna: Luna-抗指纹浏览器|防反爬虫框架|浏览器指纹|自动化浏览器|防识别|反识别|防关联

Luna 是一款强大的第三方库,专为抗指纹自动化爬虫而设计。通过利用视觉特征和先进的算法,Luna 提供了一种有效的方法来对抗现代爬虫检测技术,保护您的网络资源免受恶意爬取和滥用。

功能亮点

  • 强大的抗指纹技术: Luna 提供了先进的抗指纹技术,使您的爬虫程序难以被识别。

  • 视觉特征解析: 基于视觉特征的页面解析和操作,使爬虫更智能。

  • 简单易用的接口: Luna 提供简单易用的接口,轻松集成和使用它的功能。

  • 智能化行为模拟: 模拟用户行为,有效应对现代爬虫检测技术。

  • 绕过检测技术: 具备绕过常见爬虫检测技术的能力,确保您的爬虫不容易被拦截。

    效果展示-加载可能有些慢 

    效果展示-加载可能有些慢

为什么选择 Luna?

使用 Luna,您可以快速构建出智能、高效、难以被识别的爬虫程序。不论是在开发自动化测试脚本、数据采集应用还是其他需要模拟用户行为的场景中,Luna 都能为您提供可靠的解决方案。

不论您是开发人员、数据科学家还是网络安全专家,Luna 都是您在抗指纹爬虫领域的得力助手。让 Luna 成为您的选择,保护您的网络资源,确保您的数据安全。

目前支持的操作系统是 Windows,且仅限于 x86-64 架构。已经在 Windows x86-64 硬件环境下进行了测试。其他操作系统或平台的测试尚不充分,因此不建议在这些系统上使用。

开始使用 Luna

详细的使用说明和示例代码,请查看本项目的文档

示例代码部分也可以查看源码的test_case包下内容。

安装

首先,您可以使用 go get 命令安装 Luna 及其依赖项:

go get -v -d github.com/musiclover789/luna
go get -v -d ./...

Luna浏览器部分

浏览器部分是 Luna 的核心功能之一,它使您能够执行抗指纹爬虫任务。请注意,您需要下载适用于 Luna 的专用浏览器才能实现指纹防识别。该浏览器的大小约为 7GB,因此需要一些时间来下载。如果您没有抗指纹需求、可以直接用您的chrome或其他浏览器即可。

目前,我们已经将浏览器文件上传到 百度 网盘,并提供了下载链接:

《暂停提供》

快速入门

package main

import (
    "fmt"
    "github.com/musiclover789/luna/devtools"
    "time"
)

func main() {
    // 初始化浏览器对象
    //你浏览器的地址
    //chromiumPath := "/Users/你自己的浏览器的地址/Chromium.app/Contents/MacOS/Chromium"
    chromiumPath := "C:\\src\\chromedev\\chromium\\src\\out\\Default/chrome.exe"
    browserObj := devtools.NewBrowser(chromiumPath, &devtools.BrowserOptions{
        // 设置非隐身模式
        Headless: false,
    })
    // 打开一个页面
    browserObj.OpenPage("https://www.baidu.com")
    fmt.Println("恭喜你,非常nice的第一个案例")
    time.Sleep(1 * time.Hour)
}
如果您执行到这一步遇到依赖包问题,那么请执行 go get -v -d ./... 命令即可。

特点

1. 抗指纹特性

Luna 强大的抗指纹技术可以模拟和对抗多种常见爬虫检测技术,包括但不限于:

  • 时区指纹
  • 显卡指纹
  • User-Agent 指纹
  • Platform 指纹
  • Languages 指纹
  • Device Memory 指纹
  • Hardware Concurrency 指纹
  • Canvas 指纹
  • 鼠标滚动指纹(真实很难被识别)
  • 鼠标移动轨迹(真实很难被识别)
  • 键盘真实输入(包括内置转输入法等)

理论上,Luna 可以成功对抗这些指纹技术,使您的爬虫在操作时不容易被识别。更多详细信息请查看我们的文档

2. 基于视觉的操作

Luna 基于视觉的页面操作方法让您可以使用截图的方式来控制浏览器,也支持传统的 CSS 和 XPath 选择器等方式。这意味着您可以立即看到页面上的内容并执行操作,而不必等待特定事件触发。

这一特性的最大优势在于速度,因为您可以像人一样看到什么就可以操作什么。这样的交互方式使得 Luna 极为高效。

3. 代理 IP 多样性

Luna 支持市面上所有类型的代理 IP,包括 HTTP、HTTPS 和 SOCKS5,无论代理 IP 是否需要密码,Luna 都完全兼容。理论上,使用 Luna 进行爬取的请求将无法被追踪。

4. 多进程和多线程

Luna 考虑到了多进程和多线程的应用场景,使得您可以并发执行多个任务,提高了爬虫的效率。

5. 网络数据包过滤

Luna 考虑到了、可能会协议和浏览器混编的方式、和可能的协议采集需求,所以继承了比较完备的cookie方案,和数据包过滤方案、方便采集数据使用、已经封装了比较完善的 一对一 请求过滤。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Selenium是一个自动化测试工具,可以用于模拟用户在浏览器上的各种操作。在爬虫领域,Selenium主要用于模拟浏览器行为,实现一些特定的功能,例如登录、翻页、下拉加载等。 在Selenium中,webdriver是用于操作浏览器的接口,可以通过代码控制浏览器进行各种操作。通常情况下,爬虫通过发送http请求来获取页面数据,但是一些网站可能会通过一些手段识别爬虫,并限制访问。此时,可以使用Selenium模拟浏览器行为来绕过爬虫策略。 下面是一个使用Seleniumwebdriver的Python示例代码: ```python from selenium import webdriver # 创建Chrome webdriver对象 driver = webdriver.Chrome() # 打开网页 driver.get("https://www.example.com") # 执行一些操作,例如输入账号密码进行登录 username_input = driver.find_element_by_id("username") password_input = driver.find_element_by_id("password") username_input.send_keys("your_username") password_input.send_keys("your_password") login_button = driver.find_element_by_id("login_button") login_button.click() # 获取页面数据 page_source = driver.page_source # 关闭webdriver driver.quit() ``` 在这个示例代码中,我们使用Chrome webdriver打开一个网页,并模拟了用户登录的操作。最后获取了网页的HTML代码并关闭了webdriver。注意,在使用webdriver时需要下载对应浏览器的驱动程序,并将驱动程序所在路径添加到系统环境变量中。 需要注意的是,虽然使用Selenium模拟浏览器行为可以绕过一些爬虫策略,但这种方式通常比直接发送http请求的方式慢得多,同时也容易被服务器识别出来。因此,在实际爬取数据时,应该根据实际情况选择合适的爬虫方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值