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

1、模型选择GPT4

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

(1)设计阶段:

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

(2)编码阶段:

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

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

(3)测试阶段:

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

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

(4)文档阶段:

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

3、结果

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

运行main.py报错

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

4、原因分析

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

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

通过检查网页元素,发现这个解析应该没有问题,所以应该是更深层次的问题,发现网页请求并没有收到响应,应该是生成的代码没有添加请求头信息。对此我在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

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

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

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

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

5、总结

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

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

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

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

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

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

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

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

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

你可能感兴趣的:(大模型与软件开发,python,人工智能,语言模型)