当前位置:   article > 正文

【大语言模型系列】用ChatDev框架实现爬虫任务的完整过程_chatdev 实践

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、机器学习、深度学习等基础知识与应用案例。致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/121644
推荐阅读
相关标签
  

闽ICP备14008679号