爬虫在deepseek加持下所向无敌

AI大模型时代下的爬虫人也需要紧跟智能的潮流,抓住模型发展的契机,使用AI创建新的爬虫定义新的爬虫范式!数据的解析、整理、格式化可以让大模型来提高处理的效率!

介绍一个开源llm爬虫框架:Crawl4AI是一个功能全面、性能优越的网络爬虫工具,特别适合需要处理大量网页数据并进行智能分析的场景。

1.1 还在编写xpath、css选择器定位数据吗

爬虫人花费了大量的时间在元素的定位和数据的解析获取上,我们为此招募了许多的xpath、css规则编写人,就为了适应上百、上千的web页面的数据处理。

首先我们需要明确的一个点就是,爬虫的数据处理与源码的获取不是一个概念,AI并不能帮助我们获取到所有的网站的源代码!为什么不能获取呢?由于现在的数据安全意识的增强,许多的站点都有反爬虫以及风控措施、模型不能直接与这些防护做对抗!

那么AI可以帮助做些什么呢?AI可以使用他的推理能力和智能体的能力,帮助用户使用自动化的工具打开一些简单的站点。可以帮助我们在源代码里面提取一些表格、列表等结构化的数据并处理后输出!

1.2 开源模型Crawl4AI

Crawl4AI是一个开源的网络爬虫和数据提取工具,专为大型语言模型(LLM)设计,旨在简化网页数据的抓取和提取过程。它通过异步操作、高效的数据处理和智能提取策略,为开发者提供了一个强大且灵活的工具,能够应对现代网页的复杂性和动态性。Crawl4AI不仅支持传统的爬虫功能,还融入了AI技术,使其在处理大规模数据和动态内容时表现出色。

Crawl4AI的核心目标是提供一个高效、灵活且易于集成的网络爬虫工具,特别适合与大型语言模型和AI应用配合使用。以下是Crawl4AI的主要特点:

  • 异步操作:采用异步架构,能够同时处理多个URL,提高爬取效率,特别适合大规模数据抓取。

  • LLM友好:输出的数据格式(如JSON、Markdown)经过优化,易于LLM处理,方便集成到AI应用中。

  • 动态内容处理:能够执行JavaScript,处理动态加载的内容,确保抓取的数据完整性。

  • 智能数据提取:利用AI技术自动分析网页结构,生成数据提取规则,减少手动配置的工作量。

  • 多浏览器支持:支持Chromium、Firefox和WebKit等多种浏览器,适应不同网站的兼容性需求。

  • 灵活的配置:提供丰富的配置选项,如钩子函数、缓存管理、代理设置等,满足各种定制化需求。

1.3 功能代码解析

Crawl4AI的代码结构清晰,模块化设计便于维护和扩展。以下是对其主要功能和代码实现的解析:

  1. 异步爬虫(AsyncWebCrawler)

import asyncio
from crawl4ai import AsyncWebCrawler

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(url="http://zhaomeng.net")
        print(result.markdown)

asyncio.run(main())

代码解析:

  • AsyncWebCrawler类负责管理爬虫的生命周期,包括浏览器的启动和关闭。

  • arun方法执行爬取任务,返回一个CrawlResult对象,包含网页内容和其他元数据。

  • asyncio.run(main())用于运行异步主函数。

1.4 数据提取策略

Crawl4AI提供了多种数据提取策略,包括基于CSS/XPath的传统方法和基于LLM的智能提取。以下是使用LLM提取策略的示例:

from crawl4ai.extraction_strategy import LLMExtractionStrategy

INSTRUCTION_TO_LLM = "Extract all rows from the main table as objects with 'CASNo','purity','MF','MW','SMILES','size', 'price' ,'stock' from the content."

class Product(BaseModel):
    CASNo:str
    size: str
    price: str
    stock:str
    purity:str
    MF:str
    MW:str
    SMILES:str
llm_strategy = LLMExtractionStrategy(
        provider="deepseek/deepseek-chat",
        api_token=apikey,
        schema=Product.model_json_sch
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值