设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 1815|回复: 0
打印 上一主题 下一主题

用ChatGPT写一个数据采集程序

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2023-6-4 23:20:27 |只看该作者 |倒序浏览
大家好,欢迎来到 Crossin的编程教室 !
上次我们讨论了ChatGPT在辅助编程学习上的一些用法:
既然ChatGPT可以理解并生成代码,那么自然而然,它的作用不仅仅是帮助学习代码,同样也可以直接用在实际的软件开发当中。
对于网页上的数据采集及处理是Python的常见应用场景之一。我们来看下ChatGPT是不是也能完成这样的任务。
假设我们现在需要抓取并整理某个网页上的表格数据:
https://python666.cn/static/score.html
640.jpg
我们直接来问问ChatGPT,能不能给个抓取的代码:
640(1).jpg
ChatGPT给了我们一份代码,但很遗憾,把这个代码复制到编辑器中运行后,生成的Excel是空的。
简单调试后发现,原来是因为页面上的表头元素用的是<th>标签
640(2).jpg
而ChatGPT因为没有获知具体的页面代码信息,直接当做<td>标签来处理,所以没采集到表头信息。
640(3).jpg
这种情况下,我们可以手动对代码做一些修改。
或者,我们点击回答下方的“Regenerate response”,让它重新回答一次试试:
640(4).jpg
这次ChatGPT给出的代码比之前简洁:
  1. import pandas as pd

  2. # 读取网页上的表格
  3. url = 'https://python666.cn/static/score.html'
  4. tables = pd.read_html(url)

  5. # 假设目标表格是第一个表格
  6. table = tables[0]

  7. # 将表格保存为Excel文件
  8. output_file = 'table.xlsx'
  9. table.to_excel(output_file, index=False)

  10. print(f"表格已保存为 {output_file}")
复制代码
运行后,成功得到了我们要的结果:
640(5).jpg
顺利拿到数据后,我们再进一步,让ChatGPT来对数据进行排序。当然,在排序前,我们需要告诉它关于表格内容的必要信息:
640(6).jpg
代码:
  1. import pandas as pd

  2. # 读取网页上的表格
  3. url = 'https://python666.cn/static/score.html'
  4. tables = pd.read_html(url)

  5. # 假设目标表格是第一个表格
  6. table = tables[0]

  7. # 将缺失值替换为0
  8. table.fillna(0, inplace=True)

  9. # 计算每个学生的均分
  10. table['均分'] = table.mean(axis=1)

  11. # 按均分降序排序
  12. table.sort_values(by='均分', ascending=False, inplace=True)

  13. # 将表格保存为Excel文件
  14. output_file = 'sorted_table.xlsx'
  15. table.to_excel(output_file, index=False)

  16. print(f"按均分排序后的表格已保存为 {output_file}")
复制代码
这次,ChatGPT完美实现了我们提出的需求:
640(7).jpg
可以看出,虽然ChatGPT很强大,但并不能保证每次生成的代码都是完美,仍然可能需要引导它修正或人工干预。
但即便如此,它也已经算得上一个十分得力的编程助手,可以大大提高开发效率。尤其像数据处理这种场景,以往开发时常常需要查找各种函数及其参数的使用方法。现在有了ChatGPT,只要准确描述数据格式及需求,就可以立刻得到相应的处理代码,非常的方便。
我现在做数据分析已经快离不开它了。

在Crossin的新书《码上行动:零基础学会PYTHON编程(CHATGPT版)》中也讲解了类似利用ChatGPT进行辅助开发的案例。
本书力求做到浅显易懂,让完全没有编程经验的零基础“小白”也能学会Python。内容从环境搭建这种最基础的步骤开始讲起,逐渐深入到常见的实际应用当中。在讲解知识点的同时配有相应的代码示例,让读者可以边学边练加深理解。
全书涵盖Python环境搭建、基础语法、常见数据类型、实用模块、正则表达式、面向对象编程、多任务编程等知识点。另外还提供了爬虫、GUI、游戏三个实战项目。
书中还创新地使用 ChatGPT 作为编程学习的辅助,带领读者探索AI时代下学习编程的新模式。
640(8).jpg
目前京东618活动正在进行中,购买本书可享5折优惠。
>>> 戳此链接购买

感谢转发点赞的各位~

#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-2 14:12 , Processed in 0.027850 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部