社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

使用 ChatGPT 自动编写 Python 爬虫脚本!

AirPython • 1 年前 • 269 次点击  

大家好,我是安果!

都知道最近 ChatGPT 聊天机器人爆火,我也想方设法注册了账号,据说后面要收费了

ChatGPT 是一种基于大语言模型的生成式 AI,换句话说它可以自动生成类似人类语言的文本,把梳理好的有逻辑的答案呈现在你面前,这完全不同于传统搜索工具

ChatGPT 不光可以回答人文、科学、情感等传统问题,还可以写代码、改 bug,程序员可就急了,简直是在抢饭碗,所以网上出现各种ChatGPT 让你失业的焦虑言论。

俗话说“百闻不如一见”,我试着让 ChatGPT 用 Python 去写爬虫脚本,看它到底行不行?

1、爬取知乎上的专栏文章

提问:

帮我用python写代码爬取这个网站的文章

https://zhuanlan.zhihu.com/p/595050104

ChatGPT:

把给到的代码放进 PyCharm 中跑一遍,发现没有报错,且打印出了内容。

import requests
from bs4 import BeautifulSoup

url = "https://zhuanlan.zhihu.com/p/595050104"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")

title = soup.find("h1", class_="Post-Title").text.strip()
body = soup.find("div", class_="Post-RichText").text.strip()

print("Title:", title)
print("Body:", body)

虽然说 ChatGPT 给出的代码可以执行,但它也提到由于爬取的网站会随时变更,也就是 HTML 会变动,所以代码可能需要调整才能正常工作。

凡是写过爬虫的同学应该都能理解,人工写的爬虫代码也没法一劳永逸,需要随时改

这一点 ChatGPT 提示的很有道理

后来我测试了 medium、百家号上的文章,ChatGPT 提供的代码形式几乎和上面一致,没法直接执行获取结果,需要微调后才能跑

2. 爬取京东某商品的评论

为了给 ChatGPT 增加难度,我试着让它去爬取某电商网站的用户评论

提问:

请用python写代码爬取这个京东商品的所有用户评论

 https://item.jd.com/13652780.html

ChatGPT:

可能这个网页是动态页面,ChatGPT 提供的方法并不能爬取评论。

我接着问:

爬取的结果是空值怎么办?

ChatGPT:

ChatGPT 提供了 3 种可能存在的原因,但并没有帮我修改代码

于是我又问:

还是空值 请帮我重新写代码爬取

ChatGPT:

这次就牛掰了,它重新用 Selenium 写了爬虫代码,并告诉我爬取动态网页需要模拟浏览器行为,因此得用 Selenium 技术

我没有运行去测试代码正确与否,但 ChatGPT 确实惊艳到我了,能够前后关联对话内容,并给出正确的解决方法

3.继续更多的测试

上面只是蜻蜓点水的玩玩,ChatGPT 就已经吸引到我,

我准备多花时间去测试 ChatGPT 应对各种爬虫的解决方案,以及它对bug 的修复能力

仅仅从写代码层面看,ChatGPT 已经可以媲美中高级程序员的水平了,而且它的知识范畴远超人类最厉害的程序员

ChatGPT 能够根据对话生成人想要的内容,这是 AI 巨大的突破,未来它的应用之广难以想象






· 推荐阅读 ·


写一个插件,薅微软羊毛,舒服!

最全总结 | 聊聊 Selenium 隐藏浏览器指纹特征的几种方式!

一个人,一座城,你到底在乎什么?Python 爬虫告诉你!



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/152211
 
269 次点击