Python大语言模型实战-记录一次用ChatDev框架实现爬虫任务的完整过程

1、模型选择GPT4

2、需求:在win10操作系统环境下,基于python3.10解释器,爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,并将爬取的信息写入Excel表中。

(1)设计阶段:

图片

(2)编码阶段:

图片

图片

(3)测试阶段:

图片

图片

(4)文档阶段:

图片

3、结果

图片

运行main.py报错

图片

4、原因分析

找下一页链接时解析出现错误

图片

通过检查网页元素,发现这个解析应该没有问题,所以应该是更深层次的问题,发现网页请求并没有收到响应,应该是生成的代码没有添加请求头信息。对此我在request中增加了请求头参数

response = requests.get(url, headers=headers)

接着报错:

图片

查看了一下代码

url = next_link["href"] if next_link else None

这句代码返回的url是"?start=25&filter="显然不是合理的下一页的url,需要一个基础url和解析得到的url进行拼接,我对此进行优化:

base_url = "https://movie.douban.com/top250"
url = base_url + next_link["href"] if url else None

程序可以运行,除了反爬的原因,得到如下结果

图片

显然,最后几个字段信息全部在Director中,对这个信息的提取出现问题。我重新编写解析的代码,最终程序运行

图片

5、总结

(1)ChatDev偏向GUI设计,它将我的需求用GUI形式展示了,运行主程序首先会弹出一个GUI。然后点击按钮运行整个程序。

(2)ChatDev有一个测试过程,更能够确保程序运行不报错,但是无法保证最终的是否返回结果,或者结果是否是用户所需要的。

(3)程序中的一些参数设置需要人工配置,比如发出网页请求,需要加入请求头部信息,否则无法返回网页信息,也就无法解析内容返回结果,而请求头信息是需要用户提供的。

(4)用户提出需求之后,无法参与到软件开发的过程中,无法参与反馈。

本人读研期间发表5篇SCI数据挖掘相关论文,现在某研究院从事数据算法相关科研工作,对Python有一定认知和理解,会结合自身科研实践经历不定期分享关于python、机器学习、深度学习等基础知识与应用案例。

致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。

1、邀请三个朋友关注“数据杂坛”公众号或2、分享/在看任意订阅号的三篇文章即可在后台联系我获取相关数据集和源码。

2、关注“数据杂坛”公众号,点击“领资料”即可免费领取资料书籍。

3、如果对本文有疑问,或者有论文指导的相关需求,点击“联系我”添加作者微信直接交流。

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

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

相关文章

kali一键部署各种环境和渗透工具

相信各位初入渗透领域的小伙们接触了kali,但是苦于要配置各种环境,安装kali没有的工具,费时费力,博主有时候需要重新部署kali也很苦恼,所以编写一键部署安装kali脚本,下载地址在这里:https://download.csdn.net/download/weixin_59679023/88565320 配置流程: 1、找一…

Linux加强篇002-部署Linux系统

目录 前言 1. shell语言 2. 执行命令的必备知识 3. 常用系统工作命令 4. 系统状态检测命令 5. 查找定位文件命令 6. 文本文件编辑命令 7. 文件目录管理命令 前言 悟已往之不谏,知来者之可追。实迷途其未远,觉今是而昨非。舟遥遥以轻飏&#xff…

Debian12试用报告

环境: win11vbox 虚拟机 网络: host-only访问局域网 nat 访问外网, 配置为dhcp动态获取ip 遇到的问题: 偶尔卡死: nat每次开机都不生效, 外网无法访问; 开机后 重启网络可解决 sudo /etc/init.d/networking restart host-only倒是没问题, 内网正常访问 vim9还是用不习…

生产实践:Redis与Mysql的数据强一致性方案

公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。 数据库和Redis如何保存强一致性,这篇文章告诉你 目的 Redis和Msql来保持数据同步,并且强一致,以此来提高对应接口的响应速度,刚开始考…

探索移动端可能性:Capacitor5.5.1和vue2在Android studio中精细融合

介绍: 移动应用开发是日益复杂的任务,本文将带领您深入探索如何无缝集成Capacitor5.5.1、Vue2和Android Studio,以加速您的开发流程Capacitor 是一个用于构建跨平台移动应用程序的开源框架。Vue 是一个流行的 JavaScript 框架,用…

多线程Thread(初阶三:线程的状态及线程安全)

目录 一、线程的状态 二、线程安全 一、线程的状态 1.NEW Thread:对象创建好了,但是还没有调用 start 方法在系统中创建线程。 2.TERMINATED: Thread 对象仍然存在,但是系统内部的线程已经执行完毕了。 3.RUNNABLE: 就绪状态&…

雪花算法原理(设计原理、优缺点、如何改造它、以及应用)

雪花算法原理(设计原理、优缺点、如何改造它、以及应用) 雪花算法源码为什么雪花算法是 64 位?为什么时间戳是41位?占雪花算法的 43-47 bit 位为什么工作台最大只支持设置 31 ?工作台设置成了 63 会导致什么后果&#…

Java 之 final 详解

目录 一. 前言 二. final 的基础使用 2.1. 修饰类 2.2. 修饰方法 2.2.1. private 方法是隐式的 final 2.2.2. final 方法可以被重载 2.3. 修饰参数 2.4. 修饰变量 2.4.1. static final 2.4.2. blank final 2.4.3. 所有 final 修饰的字段都是编译期常量吗&#xff1f…

数据结构:二叉查找树,平衡二叉树AVLTree,红黑树RBTree,平衡多路查找数B-Tree,B+Tree

二叉查找树 二叉树具有以下性质:左子树的键值小于根的键值,右子树的键值大于根的键值。 对该二叉树的节点进行查找发现深度为1的节点的查找次数为1,深度为2的查找次数为2,深度为n的节点的查找次数为n,因此其平均查找次…

2023年亚太数学建模C题数据分享+详细思路

在报名截止的前一天,我尝试进行了报名。到那时,已有11,000个队伍注册参赛。在我的了解中,在数模比赛中除了国赛美赛外,几乎没有其他竞赛的参赛队伍数量能与此相媲美。即便不考虑赛题的难度和认可度,亚太地区的这场竞赛…

JavaScript实现动态背景颜色

JavaScript实现动态背景颜色 前言实现过程HTML实现过程CSS实现过程JS实现过程全部源码 前言 本文主要讲解JavaScript如何实现动态背景颜色,可以根据颜色选择器选择的颜色而实时更新到背景中,如下图所示。 当我们在颜色选择器中改变颜色时,会…

SPSS信度分析

前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件请点击此链接下…

内网渗透之Linux权限提升大法

文章目录 内网渗透|Linux权限提升大法0x01 前言0x02 工具介绍1.traitor2.LinEnum3.linux-exploit-suggester.sh4.Linux Exploit Suggester 25.beroot 0X02提权手法1.环境变量提权2.利用suid提权3.定时任务提权3.1定时任务文件覆盖提权3.2定时任务tar命令通配符注入提权 4.sudo提…

【matlab程序】matlab给风速添加图例大小

【matlab程序】matlab给风速添加图例大小 clear;clc;close all; % load 加载风速数据。 load(matlab.mat) % 加载颜色包信息 gray load(D:\matlab_work\函数名为colormore的颜色索引表制作\R_color_txt\R_color_single\gray89.txt); brown load(D:\matlab_work\函数名为color…

_STORAGE_WRITE_ERROR_ thinkphp报错问题原因

整个报错内容如下 Uncaught exception Think\Exception with message _STORAGE_WRITE_ERROR_:./Runtime/Cache/Home/1338db9dec777aab181d4e74d1bdf964.php in C:\inetpub\wwwroot\ThinkPHP\Common\functions.php:101 Stack trace: #0 C:\inetpub\wwwroot\ThinkPHP\Library\…

JavaFx 设置窗口边框圆角

UI界面要求窗口边框有一定弧度,因为之前没有做过,网上看了很多文章,都用到了css语句 "-fx-background-radius: ; 我在xml布局文件根节点使用无效,在Scene组件设置无效,gpt等ai问了一圈代码也是无效,…

【JavaEE】认识多线程

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《vaEE》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&am…

React + BraftEditor 实现富文本编辑

Braft Editor 是一个基于 React 和 Draft-js 开发的富文本编辑器,提供了丰富的基础功能,如基本文本格式化、列表、链接、图片上传、视频插入等,并且还支持扩展。 首先,确保你已经在项目中安装了 Braft Editor 和它的依赖项&#x…

NPU、CPU、GPU算力及算力计算方式

NVIDIA在9月20日发布的NVIDIA DRIVE Thor 新一代集中式车载计算平台,可在单个安全、可靠的系统上运行高级驾驶员辅助应用和车载信息娱乐应用。提供 2000 万亿次浮点运算性能(2000 万亿次8位浮点运算)。NVIDIA当代产品是Orin,算力是…