爬虫方案推荐:crawl4ai+大模型处理


3楼猫 发布时间:2024-12-24 00:19:05 作者:轩辕一族 Language

先叠加:本人只是了解,如果错误欢迎指出。

为什么不发csdn

因为全是ai水文章和卖课的,找了半天一个有用的都没有,所以我也不想发。

如果不喜欢请直接划走

爬虫方案推荐:crawl4ai+大模型处理-第0张

像极了我水论文的样子

前言:craw4介绍

异步爬虫,可将爬取的网页转换为markdown、清理过的html语言、json语言。相比requests来说提取的网页能直观看懂。文档:https://crawl4ai.com/mkdocs/

学习推荐网站:https://www.studywithgpt.com/zh-cn/tutorial/ynms80

特点(我自己总结的)

  1. 可以基于css选择器爬取指定部分

  2. 在爬取数据前可以预先执行js代码

  3. 爬取重复界面缓存功能

  4. 使用简单,如下图

爬虫方案推荐:crawl4ai+大模型处理-第1张

代码

爬虫方案推荐:crawl4ai+大模型处理-第2张

结果

正文:

目的:爬取页面数据,返回json格式数据。(爬取萌娘百科对应的galgame信息)

步骤:

  1. 利用crawl4ai库爬取页面数据markdown格式数据

  2. 利用通义大模型解析markdown格式数据

  3. pydantic验证数据格式

  4. 输出json格式数据

crawl4ai爬取markdown格式数据

headers和代理设置也很简单。只需要在 verbose后加headers=..就可以

css选取了所有段落p,还有一个主要角色列表。这两个基本就能包括所有的想要的信息

爬虫方案推荐:crawl4ai+大模型处理-第3张

通义大模型处理

大模型网站:https://bailian.console.aliyun.com/

在对应的应用用人话写出你想要的东西,然后进行优化。

具体大模型调用方法查看网站示例(很简单)。

爬虫方案推荐:crawl4ai+大模型处理-第3张

大模型返回有时会有额外内容,如提取后的json文本如下,```json 内容```,用正则过滤一下json就好,这能保证返回的data,一定是json格式

爬虫方案推荐:crawl4ai+大模型处理-第3张

pydantic数据校验

大模型返回json格式一般来说不会出错,在prompt里明确指出返回json格式包括哪些字段,没有返回空。

如果后续要处理内容,为了数据符合格式可以加校验。

目标格式如下,后面None表示允许空

爬虫方案推荐:crawl4ai+大模型处理-第3张

格式

校验很简单,只需要try:  OpenAIModelFee(**data) ,不符合格式会抛出异常。

最后,代码输出结果

爬虫方案推荐:crawl4ai+大模型处理-第3张

输出结果

代码:https://wwkt.lanzoul.com/iyV4f2irlxgd

其他

原本crawl4有用openai直接进行处理,看起来好像不需要自己进行数据验证,只需要把提问词加上就行,然后能直接爬取。看起来很方便,但是我的不知道为什么报错,到现在也没解决。"content": "No module named 'openai.types'; 'openai' is not a package" 好像与环境有关,但不知道怎么解决

小黑盒什么时候能支持代码块呢....


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com