数据采集助力AI大模型训练

news2025/4/25 12:29:18

  • 引言
  • 使用抓取浏览器采集ebay商品页面
  • 选购亮数据AI训练数据
  • 总结

引言

   AI技术在今天已经是我们工作生活中不可或缺的工具,很多小伙伴也在致力于训练AI模型。高质量的数据是训练强大AI模型的核心驱动力,无论是自然语言处理、计算机视觉还是推荐系统,数据的规模、多样性和准确性直接决定了模型的性能和泛化能力。然而,在实际的数据采集过程中,往往面临着目标网站限制、IP封锁、数据碎片化等挑战,导致数据获取效率低下,甚至影响模型训练效果。

   要解决这些问题,IP代理服务无疑是最佳选择。通过专业的代理IP服务配合高效的数据采集工具,能够为AI大模型训练提供稳定、可靠且合规的数据支持。亮数据作为全球领先的代理服务与数据采集解决方案提供商,覆盖195个国家/地区,提供海量优质IP资源,同时配备智能化的数据采集工具和丰富的现成数据集。无论是数据采集新手还是资深开发者,都能快速上手,高效获取所需数据。接下来,我们将通过两个实际案例,分别体验亮数据的抓取浏览器和AI训练数据集,看看它们如何简化数据采集流程,助力AI模型训练。

使用抓取浏览器采集ebay商品页面

   在数据采集过程中,许多开发者常常遇到令人头疼的反爬机制问题。验证码拦截、动态数据加载、内容隐藏等技术手段让不少小伙伴束手无策,一旦遇到这些阻碍,整个数据采集工作就会陷入停滞。针对这些痛点,亮数据的抓取浏览器提供了完美的解决方案。通过内置的智能算法,抓取浏览器会模拟真实用户行为,自动处理各种反爬挑战,最终将完整的页面内容以HTML格式返回,我们在这个结果上继续操作即可,是不是很简单呢?
  接下来我们一起配置一下抓取浏览器服务。登录之后,在控制面板中选择抓取浏览器,开始配置亮数据抓取浏览器。
在这里插入图片描述

   对于普通的网站,只需要配置名字即可,而对于一些保护机制比较复杂的网站则需要选购高级域名。
在这里插入图片描述

   确定之后,就得到了访问抓取浏览器的参数,包括主机名、端口号、用户名和密码,后面需要用这些参数连接浏览器。注意这里一定要将自己的本机IP添加到白名单。
在这里插入图片描述

   之后就可以通过抓取浏览器访问网站,并将结果发送至本地。接下来我们来编写爬虫程序。首先,我们定义AUTH变量,用来存储了身份验证凭据,并通过该凭据构造SBR_WS_CDP,它用于连接到一个远程的Scraping Browser代理。将目标爬取的网址保存在url中,并留出查询关键词的空位。

AUTH = 'brd-customer-hl_a0a48734-zone-scraping_browser3:jt4e2m7roz4f' 
SBR_WS_CDP = f'wss://{AUTH}@brd.superproxy.io:9222' 
url = f'https://www.ebay.com/sch/i.html?_nkw='

  之后,在run函数中,使用async_playwright连接到远程的Scraping Browser,创建一个新的浏览器页面,并导航到指定的URL。之后,获取网页的内容并返回。最后浏览器会在操作完成后关闭,以释放资源。

async def run(pw, url):
    print('Connecting to Scraping Browser...')
    browser = await pw.chromium.connect_over_cdp(SBR_WS_CDP)
    try:
        page = await browser.new_page()
        print('Connected! Navigating to webpage')
        await page.goto(url)
        html = await page.content()
        return html     finally:
        await browser.close()

  再之后定义parse_page函数,目的是解析获取到的HTML内容。它使用lxml库来解析网页,并试图提取包含商品信息的li元素列表。在每个li元素中提取商品的图片链接、标题和价格,并将它们存储到一个字典列表中作为结果返回。

def parse_page(html):
    root = etree.parse(html)
    lis = root.xpath('//ul[@class="srp-list"/li')
    result = []
    for li in lis:
        img = li.xpath('.//div[@class="s-item__image"]/a/div/img/@src]')
        title = li.xpath('.//div[@class="s-item__title"]/span/text()')
        price = li.xpath('.//span[@class="s-item__price"]/text()')
        result.append({"img": img, "title": title, "price": price})
    return result

  最后定义整个程序的入口点。先使用async_playwright进行异步处理,并将url变量添加一个关键词"电脑",用来搜索eBay上的相关产品。然后,调用run函数获取网页内容,并使用parse_page解析页面数据。解析后的数据被写入本地文件。

async def main():
    global url     async with async_playwright() as playwright:
        url += '电脑'         page = await run(playwright, url)
        r = parse_page(page)
        with open('电脑.txt', 'w') as f:
            f.write(str(r))

完整代码如下:

import asyncio from playwright.async_api import async_playwright from lxml import etree

AUTH = 'brd-customer-hl_a0a48734-zone-scraping_browser3:jt4e2m7roz4f' SBR_WS_CDP = f'wss://{AUTH}@brd.superproxy.io:9222' url = f'https://www.ebay.com/sch/i.html?_nkw='


async def run(pw, url):
    print('Connecting to Scraping Browser...')
    browser = await pw.chromium.connect_over_cdp(SBR_WS_CDP)
    try:
        page = await browser.new_page()
        print('Connected! Navigating to webpage')
        await page.goto(url)
        html = await page.content()
        return html     finally:
        await browser.close()


def parse_page(html):
    root = etree.parse(html)
    lis = root.xpath('//ul[@class="srp-list"/li')
    result = []
    for li in lis:
        img = li.xpath('.//div[@class="s-item__image"]/a/div/img/@src]')
        title = li.xpath('.//div[@class="s-item__title"]/span/text()')
        price = li.xpath('.//span[@class="s-item__price"]/text()')
        result.append({"img": img, "title": title, "price": price})
    return result


async def main():
    global url     async with async_playwright() as playwright:
        url += '电脑'         page = await run(playwright, url)
        r = parse_page(page)
        with open('电脑.txt', 'w') as f:
            f.write(str(r))


if __name__ == '__main__':
    asyncio.run(main())

选购亮数据AI训练数据

  在AI模型训练过程中,数据采集往往是最耗时耗力的环节。不同网站采用不同的技术架构和反爬策略,开发者需要针对每个网站单独编写采集脚本,处理各种异常情况,整个过程既复杂又低效。针对这一痛点,亮数据创新性地推出了预置数据集服务,为AI开发者提供了开箱即用的数据解决方案。亮数据的数据集市场汇集了全球主流网站的结构化数据,覆盖电商、社交媒体、新闻资讯等12个垂直领域。所有数据都经过专业的清洗和结构化处理,确保可直接用于模型训练,大幅提升AI项目的开发效率。

  接下来我们一起选购AI数据集。登录后在控制面板选择网页数据集,即可进入数据集市场,这里有120个域名超过200种数据集可以直接使用。

在这里插入图片描述

  比如说我们选择youtube评论数据,可以在过滤器中设置条件筛选数据集。这里我们选择最近一个月的数据。
在这里插入图片描述

  配置好之后点击右上角就可以购买,当然也可以下载一个样本先看一下是否符合我们的要求。
在这里插入图片描述

  数据以CSV或JSON格式交付,可以看到还是比较全面的。
在这里插入图片描述

总结

  本文通过两个具体案例展示了亮数据的实际应用:一是利用抓取浏览器动态采集eBay商品数据,从配置到代码实现全程演示;二是直接选购YouTube评论数据集,快速获取结构化数据。这两种方式各具优势,既能满足个性化需求,又能提供开箱即用的高质量数据。未来,随着AI技术的不断发展,对数据规模和质量的要求将愈发严格。亮数据这类专业服务商的出现,不仅解决了数据采集的技术难题,更为AI研发者提供了更多可能性。无论是学术研究还是商业应用,高效合规的数据采集工具都将成为推动AI进步的重要助力。现在亮数据还有一系列免费试用的活动,欢迎大家注册。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2326512.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Rust 为什么不适合开发 GUI

前言 在当今科技蓬勃发展的时代,Rust 编程语言正崭露头角,逐步为世界上诸多重要基础设施提供动力支持。从存储海量信息到应用于 Linux 内核,Rust 展现出强大的实力。然而,当涉及构建 GUI(图形用户界面)时&…

消息队列篇--通信协议篇--理解HTTP、TLS和TCP如何协同工作

前面介绍了HTTP/HTTPS,SSL/TLS以及TCP和UDP,这些在网络传输上分别有着自己的作用。为了深入理解下这些概念,本篇重点介绍下HTTP、TLS 和 TCP是如何协同工作的?我们从底层到上层逐步分析每个协议的作用及其相互关系。这些协议共同协…

代码随想录算法训练营第三十四天 | 62.不同路径 63.不同路径II 343.整数拆分

62.不同路径 题目链接:62. 不同路径 - 力扣(LeetCode) 文章讲解:代码随想录 视频讲解:动态规划中如何初始化很重要!| LeetCode:62.不同路径_哔哩哔哩_bilibili 思路:机器人位于一…

2023第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(真题题解)(C++/Java题解)

记录刷题的过程、感悟、题解。 希望能帮到,那些与我一同前行的,来自远方的朋友😉 大纲: 1、日期统计-(解析)-暴力dfs(😉蓝桥专属 2、01串的熵-(解析)-不要chu…

RK3568-适配ov5647摄像头

硬件原理图 CAM_GPIO是摄像头电源控制引脚,连接芯片GPIO4_C2 CAM_LEDON是摄像头led灯控制引脚,连接芯片GPIO4_C3编写设备树 / {ext_cam_clk: external-camera-clock {compatible = "fixed-clock";clock-frequency = <25000000>;clock-output-names = "…

实战篇Redis

黑马程序员的Redis的笔记&#xff08;后面补一下图片&#xff09; 【黑马程序员Redis入门到实战教程&#xff0c;深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目】https://www.bilibili.com/video/BV1cr4y1671t?p72&vd_source001f1c33a895eb5ed820b9a4…

沉浸式体验测评|AI Ville:我在Web3小镇“生活”了一周

最近&#xff0c;我在朋友的推荐下&#xff0c;体验了 aivillebot 的项目。起初&#xff0c;我只是抱着试试看的心态&#xff0c;心想这不就是个 Web3 版的《星露谷物语》吗&#xff1f; 但是一周下来&#xff0c;我发现这个虚拟小镇也没那么简单——里面的居民不是目前端游或链…

TTL 值 | 在 IP 协议、ping 工具及 DNS 解析中的作用

注&#xff1a;本文为 “TTL” 相关文章合辑。 未整理去重。 如有内容异常&#xff0c;请看原文。 TTL 值的意义 2007-10-18 11:33:17 TTL 是 IP 协议包中的一个值&#xff0c;用于标识网络路由器是否应丢弃在网络中停留时间过长的数据包。数据包可能因多种原因在一定时间内…

人工智能之数学基础:初等反射阵

本文重点 在线性代数中,初等反射阵(Householder矩阵)作为一类特殊的正交矩阵,在矩阵变换、特征值计算及几何变换等领域具有广泛应用。其简洁的构造方式和丰富的数学性质,使其成为数值分析和几何处理中的重要工具。 什么是初等反射阵(豪斯霍尔德变换) I为单位矩阵,wwT…

4.1 代码随想录第三十二天打卡

准备:完全背包理论基础-二维DP数组 1.完全背包就是同一物品可以往里多次装 2.这里先遍历背包 或物品都可以 3.dp[i][j] 表示从下标为[0-i]的物品&#xff0c;每个物品可以取无限次&#xff0c;放进容量为j的背包&#xff0c;价值总和最大是多少 518.零钱兑换II (1)题目描述…

SQL Server:数据库镜像端点检查

目录标题 **1. 端点的作用****2. 检查的主要内容****&#xff08;1&#xff09;端点是否存在****&#xff08;2&#xff09;端点状态****&#xff08;3&#xff09;协议与端口****&#xff08;4&#xff09;权限配置** **3. 操作步骤&#xff08;示例&#xff09;****&#xff…

【区块链安全 | 第九篇】基于Heimdall设计的智能合约反编译项目

文章目录 背景目的安装1、安装 Rust2、克隆 heimdall-dec3、编译 heimdall-dec4、运行 heimdall-dec 使用说明1、访问 Web 界面2、输入合约信息3、查看反编译结果 实战演示1、解析普通合约2、解析代理合约 背景 在区块链安全研究中&#xff0c;智能合约的审计和分析至关重要。…

批量删除 txt/html/json/xml/csv 等文本文件空白行

我们常常会遇到需要删除 txt 文本文件中空白行的情况&#xff0c;如果文本文件较大&#xff0c;行数较多的时候&#xff0c;有些空白行不容易人工识别&#xff0c;这使得删除文本文件空白行变得非常繁琐&#xff0c;我们需要先找到空白的行&#xff0c;然后才能进行删除操作。尤…

ES5内容之String接口

注意&#xff1a;slice、substr、substring 都接受一个或两个参数&#xff0c;第一个参数指定字符串的开始位置&#xff0c;第二个参数表示子字符串到哪里结束&#xff0c;slice 和 substring 的第二个参数指定的是子字符串的最后一个字符后面的位置&#xff0c;substr 第二个参…

Mysql之事务(下)

&#x1f3dd;️专栏&#xff1a;Mysql_猫咪-9527的博客-CSDN博客 &#x1f305;主页&#xff1a;猫咪-9527-CSDN博客 “欲穷千里目&#xff0c;更上一层楼。会当凌绝顶&#xff0c;一览众山小。” 目录 5. 事务的隔离级别与并发控制 5.1事务的隔离级别 5.2查看与设置事务的…

某地老旧房屋自动化监测项目

1. 项目简介 自从上个世纪90年代以来&#xff0c;我国经济发展迅猛&#xff0c;在此期间大量建筑平地而起&#xff0c;并且多为砖混结构的住房&#xff0c;使用寿命通常约为30-50年&#xff0c;钢筋混凝土结构&#xff0c;钢结构等高层建筑&#xff0c;这些建筑在一般情况下的…

【QT】QT的多界面跳转以及界面之间传递参数

QT的多界面跳转以及界面之间传递参数 一、在QT工程中添加新的界面二、多界面跳转的两种情况1、A界面跳到B界面&#xff0c;不需要返回2、A界面跳到B界面&#xff0c;需要返回1&#xff09;使用this指针传递将当前界面地址传递给下一界面2&#xff09;使用parentWidget函数获取上…

【学习笔记】计算机网络(五)

第5章 运输层 文章目录 第5章 运输层5.1 运输层协议概述5.1.1 进程之间的通信5.1.2 运输层的两个主要协议5.1.3 运输层的端口 5.2 用户数据报协议 UDP5.2.1 UDP 概述5.2.2 UDP的首部格式 5.3 传输控制协议 TCP 概述5.3.1 TCP 最主要的特点5.3.2 TCP 的连接 5.4 可靠传输的工作原…

鸿蒙NEXT小游戏开发:记忆翻牌

1. 引言 在本案例中&#xff0c;我们将使用鸿蒙NEXT框架开发一个简单的记忆翻牌游戏。该游戏的核心逻辑是玩家通过翻转卡片来寻找匹配的对。本文将详细介绍游戏的实现过程&#xff0c;包括卡片的展示、匹配逻辑以及用户交互。 2. 开发环境准备 电脑系统&#xff1a;windows 1…

Java常用工具算法-2--加密算法1--对称加密算法(推荐AES算法)

1、定义与核心原理 定义&#xff1a;加密和解密使用相同密钥的算法。工作流程&#xff1a; 秘钥协商&#xff1a;双方需提前通过安全信道共享密钥。加密过程&#xff1a;发送方用密钥对明文加密&#xff0c;生成密文。解密过程&#xff1a;接收方用相同密钥对密文解密&#xf…