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.hqwc.cn/news/214207.html

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

相关文章

微信小程序埋点

使用如下代码封装一下,例如封装在log.js文件里面: var log wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : nullmodule.exports {debug() {if (!log) returnlog.debug.apply(log, arguments)},info() {if (!log) returnlog.info.apply(l…

2023年ESG投资研究报告

第一章 ESG投资概况 1.1 定义 ESG投资,亦称负责任投资,是一种融合环境(Environment)、社会(Social)和治理(Governance)考量的投资方法,旨在通过综合这些因素来优化投资…

算法:给出指定整数区间、期望值,得到最终结果

1,问题: 在游戏中,我们经常会遇到以下情况:打开宝箱,获得x个卡牌碎片。 但通常策划只会给一个既定的数值空间,和一个期望得到的值,然后让我们去随机。比如: 问题A:在1~…

thinkphp6 不支持:redis错误

起因: 使用 redis 时候,thinkphp 报错。 解决方法: 打开 php.ini 文件,增加 extensionphp_redis.dll 即可

前后端性能优化实践(含Java代码部分、数据库部分、React前端部分)

最近的一个大屏报表统计的接口查询速度很慢,耗时近一分钟左右,数据量级只是700万左右,但很慢,最后优化到4秒左右,客户还能接受,但其实还可以在优化,先这样吧,简单记录下。这次主要优…

万份水稻样本,挖掘罕见变异

水稻作为全球最重要的粮食作物之一,为全球一半以上的人口提供食物。自然变异是基因改良和现代育种的重要遗传基础,广泛挖掘水稻种质群体中的变异具有重要意义,近年来,科学家们更多关注大规模群体中的稀有变异。 2023年10月&#…

uni微信小程序 map 添加padding

问题背景&#xff1a; 规划驾车线路的时候&#xff0c;使用uni的include-points指定可视范围的时候&#xff0c;会很极限。导致marker不能完全显示。 解决方法 给地图显示范围添加padding (推荐) <mapid"myMap":markers"markers":polyline"pol…

网站定制开发有哪些分类?|企业软件app小程序定制

网站定制开发有哪些分类&#xff1f;|企业软件app小程序定制 网站定制开发是指根据客户需求&#xff0c;为其量身定制设计和开发的网站服务。目前&#xff0c;网站定制开发主要分为以下几个分类&#xff1a; 1. 静态网站定制开发&#xff1a;静态网站是由HTML、CSS和JavaScrip…

2016年10月4日 Go生态洞察:HTTP追踪介绍

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

组合不重复的3位数

编程要求 给出四个不同的数字&#xff0c;能够组成多少个不重复的3位数&#xff0c;按照从小到大的顺序输出&#xff0c;每行一个。 测试用例 测试输入 1 2 3 4 测试输出 123 124 132 134 142 143 213 214 231 234 241 243 312 314 321 324 341 342 412 413 421 423 431 …

TrustAsia亮相Matter开发者大会,荣获Matter优秀赋能者奖

11月22日&#xff0c;由CSA&#xff08;连接标准联盟&#xff09;中国成员组主办&#xff0c;CSHIA承办的“Matter中国区开发者大会2023” 于杭州举行。 会上&#xff0c;连接标准联盟中国成员组主席宿为民博士、连接标准联盟亚洲区架构师杨莉女士、CSHIA秘书长|中智盟投资创始…

【广州华锐互动】利用VR体验环保低碳生活能带来哪些教育意义?

随着科技的不断发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术已经逐渐走进了我们的生活。从游戏娱乐到教育培训&#xff0c;VR技术的应用范围越来越广泛。而在这个追求绿色、环保的时代&#xff0c;VR技术也为我们带来了一种全新的环保低碳生活方式。让我们一起走进…