AI 编程(爬虫) | 实战手册【航海精华】

AI 编程(爬虫) | 实战手册【航海精华】

一、【项目概况】了解 AI 编程(爬虫)项目 @乔帮主

1.1 什么是 AI 编程项目?

AI 编程,顾名思义,就是借助 AI 学习编程。

在互联网数智化时代,掌握编程技能已经不是程序员的专属,而是我们普通人都要学习掌握的核心能力。

但编程技能往往门槛高,对很多小白来说很难,但 AI 的出现,恰好能很好降低我们学习的门槛。

而且,要想更加深入的使用 AI 、让 AI 为我们提效,编程技能又恰好能使我们更好理解互联网数字化世界,可以帮助我们更好地驱动 AI 。

所以,当编程和 AI,可谓是相辅相成,是当前这时代的王炸组合。

但是,编程的内容非常庞大,即便借助 AI 我们也不可能在 21 天内成为编程高手。所以,我们找到了比较实用的一个应用场景——爬虫。

希望在 21 天内,能够教大家借助 AI 写出一个爬虫代码,并能使用。同时,可以初步借助 AI 理解编程语言,进而理解爬虫代码,掌握借助 AI 学习编程的方法,开启借助 AI 学习编程的第一步。

图片[1]-AI 编程(爬虫) | 实战手册

1.2 普通人为什么要学习编程?

在很多人眼里,觉得编程就是程序员的标配,觉得跟自己很遥远。主要自己又不干程序员,干嘛还要去学?

1.2.1 编程是掌握未来人工智能的必备语言

2022 年 11 月30日,ChatGPT-3.5一经推出,整个互联网就炸锅了。2 个月就注册了一亿用户,这是个什么夸张的速度。

但真正被誉为开启了人类第四次工业革命的历史时刻,是 2023 年 3 月推出的ChatGPT-4.0,从智能程度、技术创新、应用领域、社会影响力等维度,让我们互联网由信息化时代迈入了 AI 时代。

这时候,我们看到一个有意思的现象,不管你是什么学历、什么性别、什么行业、什么岗位,你都需要借助 AI 为工作生活提效。不用,意味着被淘汰。

这时我问大家一个问题,AI 作为一个互联网时代下的技术工具,如果你不懂技术底层逻辑,如果你对整个互联网世界都不理解,那你又能怎么深度用好 AI?

而我们整个互联网,都是建立在一行一行的代码基础之上的。最终我们科技的落地应用也都是建立在一行一行的代码逻辑之上的。

所以,编程,是我们更好地认识这个互联网世界的钥匙。

乔布斯曾在 1995 年访谈纪录片《乔布斯:遗失的访谈》中这样说过:“编程可以帮助我们完成工作,它没有明确的实用性。重要的是我们把它看作思考的镜子,学习如何思考。所有普通人都有必要学习编程,它可以教你如何思考,就像学法律一样,学法律的人未必都成为律师,但法律教你了一种非常有用的思考方式。”

以前互联网刚出来的时候,你会互联网,你懂互联网,只需要会登录 QQ、会打开网页、能找到电脑的重启键就行了。而现在,你懂互联网,也许只需要会 Word、Excel、PPT 等办公软件就行了。

但随着互联网的普及,随着科技的快速发展,如今 AI 绘画、ChatGPT 等技术如雨后春笋般出来。到未来,不仅仅只是有 ChatGPT 等人工智能技术,更有物联网、量子计算、元宇宙等。为了顺应潮流,为了不被时代所抛弃,你必须会更多。

人工智能和人工智障仅仅只是一线之差,学习编程,核心不仅仅只是掌握一个技能,更多是掌握底层的技术思维逻辑,让你有能力去驱动这些更强大的技术工具为你所用。要不然人工智能等技术在你面前,也许就成了人工智障了。

对很多普通人来说,学习编程不是为了成为一名程序员。随着社会和技术的快速发展,编程已经成为一种基本技能,就像阅读、写作和算术一样。

这也是编程,为什么已被逐步纳入到九年义务教育课程中。以前我们那时候互联网不发达,没系统学过编程,导致这方面能力缺失。

如今的小孩从小就开始学这方面课程了。我有个 13 岁的小学员,上次在线下指导了下他,他自己就把 GPTS智能体(根据自己的需求定制化的ChatGPT)给配置出来了。这动手能力,让我想着我 13 岁在哪里?在干些什么?

而且前段时间刚结束的高考,这次全国新高考Ⅰ卷的作文题目就与AI主题相关。如果你没学过编程,没用过AI,相信你面对AI主题的作文,应该会感觉很陌生,更是无从下笔了。如果学过我们AI编程的航海,高考作文那不得拿高分了。

而且现在越来越多家长开始重视孩子在AI编程方面的学习,这也是我这近一两年在市场上看到的真实情况,我很多学员都是妈妈带着子女来一起学习AI编程。

前两天我在朋友圈也在说,借助高考作文在AI主题的热度,在暑假开个AI编程的亲子班,这种夏令营活动,我相信应该很受市场欢迎。就拿这次航海我们带着1700人来一起用AI学习编程,就已经看到了普通人学习编程的趋势,就已经看到了普通人用AI去学习新知识的趋势。

学习编程主要是为了掌握编程思维,那什么是编程思维呢?

编程思维是一种基于科技和工程技术的思考方式,具有分析、创新、实践、数据和证据等特点,对于问题解决、创新和决策制定等方面有着重要的作用。

学习编程后,能让我们掌握严谨性、批量化、自动化等很多重要编程思维;能让我们更好的理解互联网数字化的世界;能提高我们解决问题、创新和决策制定的能力;能让我们更好的驱动AI工具的使用;更能够让我们更好地应对现代社会中日益增长的互联网需求!

1.2.2 学习编程为那些普通人带来了哪些收获

我这边有一个学员46岁,是个中学历史教师。他最初的目标很简单,就是不想跟互联网时代脱轨。在刚开始的时候,他比较担心年纪比较大,学这块比较吃力。

学习的前一两周来说的确挺难熬的,就如同我刚开始学习 C 语言那时候一样,有点像听天书。好在没放弃,一点一点的积累,赶鸭子上架的逼着自己学完了。

后来在一些教学和日常工作,按照我们项目案例的代码编写了一个简单的工具来自动化处理学生成绩,这在他的同事中还引起了不小的反响,都还以为他要从历史老师转行要做程序员了。

特别在他后续的课程授课中,通过一些小程序模拟历史事件,让学生们在互动中更好地理解历史。这种方法让课堂变得更加生动,学生们的反应也非常积极。原本作为文科生只是想学下计算机,没想到编程还能让教学生的方式发生一些有趣的改变。

学习编程不仅仅是年轻人的专利,更不仅仅只是编程人员的专利,任何年龄的人都能通过学习新技能找到属于自己的第二增长曲线。

还有前面那个我提到的那个 13 岁的小学员,她妈妈直接带着他孩子来跟我学 AI、学编程。他花了两三个小时自己研究,然后找我协助配置完成的 GPTS 智能体机器人:

一个是游戏的角色对话(以下 GPTS 链接需解决网络问题,并且要有GPT3.5/4.0的账号才能打开):

https://chatgpt.com/g/g-UEQs1NvAF-tian-cheng

还有一个投喂五万字的苏军上校鲍里斯(以下 GPTS 链接需解决网络问题,并且要有GPT3.5/4.0账号才能打开):

https://chatgpt.com/g/g-zPTsBb3B4-bao-li-si/c/077a4d99-6201-4789-8f1c-623a2f5e4e64

值得注意的是,以上的两个真实 GPTS 案例,是一个13岁的孩子配置出来的。然后 AI 编程(爬虫)的案例,我就用的我们航海手册的实战案例,把文档给到他,他照着配置,用 AI 生成代码也成功跑出来并爬取数据。

一个13岁的小朋友,就掌握了AI,掌握了编程。我忍不住在想,我13岁的时候,我是谁,我在哪,我在干啥。而他却已经站在AI时代肩膀之上,站在乔帮主的肩膀之上,看到了更远阔的世界。这对他以后学习生活,对他成长,价值收获都是巨大。

不过听他妈妈说,他拿着我的签名书,拿着他的 AI 编程案例回去后,成为他身边小伙伴最耀眼的那个亮仔,这也许是他最大的收获和最美好的童年。

再比如,我们的圈友@小马宋,一个70后的他,也坚持学着编程。正如他在《我为什么要学英语和编程?》文中所说:“李笑来说,英文是你了解世界的语言,编程是你和计算机世界沟通的语言。所以我决定今年开始学编程,希望一两年后,我能用编程去和计算机世界沟通。也能用编程提升我们做营销和咨询的效率和质量。”

还比如,我们的圈友@向上的塔皮,38岁的宝妈,在《驾驶自己的命运:参加航海让我从一个普通人变成人生领航者》中提到过,为了不被互联网淘汰,努力在学习编程(JavaScript),并在小红书上带着更多人学习编程。

还有曾经有那么一批年轻的程序员:求伯君、雷军、马化腾、张小龙、史玉柱、张一鸣、丁磊、李彦宏、周鸿祎、张朝阳、王志东、陈天桥…从“码农”到“总裁”,他们通过代码,真的做到了改变世界。

马斯克让高管默写代码,不合格的很可能会被辞退。这些互联网大佬到现在都还坚持着写代码,保持思维的灵活性和创造性,这么优秀的人都在写代码。

为了顺应时代发展潮流,你不能掉队太久呢!让我们一起来学编程吧!

图片[1]-AI 编程(爬虫) | 实战手册

1.3 普通人如何学习编程?

1.3.1 编程为什么要选择学习 Python?

既然学习编程是我们普通人的重要技能,那我们选择学习什么编程语言来让我们掌握这个技能,这显得很重要。

有人说,要学 Java,因为宇宙的尽头是 Java。

有人说,要学 Python,因为人生苦短,我用 Python。

有人说,要学 PHP,因为PHP是世界上最好的语言(笑笑不说话)。

通过世界编程语言排行榜我们来看看:https://www.tiobe.com/tiobe-index/

图片[3]-AI 编程(爬虫) | 实战手册

这二十三年一个时代过去,排行榜上最火热的编程语言技术,依然还是 Java、Python、C、C++等。

想当初在大学考二级 C 语言,考两次挂两次。作为计算机专业的我,还死活考不过二级 C,最后无奈跑去考计算机四级,没想到居然简单的一次考通过。C 语言,真是难倒了一个时代的大学生。没想到这么多年过去,依然排行编程语言前三甲。

C、C++在嵌入式开发、游戏类开发中应用广泛,Java 在Web 网站类开发应用广泛,他们都有一个特点,就是难学,对我们普通人不太友好。

然后 C# 是一个“后台强大”的编程语言,C# 它和C++、Java一样是面向对象的编程语言(面向对象编程是一种将程序设计成由对象组成的方法,每个对象包含数据和操作这些数据的功能,使程序更加模块化和易于维护)。

C# 应用场景也是偏向于 Web 网站开发,之所以能在世界编程语言排行前五,很大一部分原因是 C# 是微软推出的,C# 对Windows依赖性很大。从应用面来说,我感觉也不适合普通人学。

然后就是 JavaScript,虽然在编程语言排行第 6,但它是一个前端语言(在浏览器中运行的),也是应用场景很小,我感觉也不适合普通人学。

然后就是排在第 7 的 VB(Visual Basic),常用于开发 Windows 桌面应用程序、数据库系统和自动化办公任务。应用场景,我觉得也是蛮小,也感觉不适合普通人去学。

然后就是排在第 8 的 Go语言,适合高并发、高性能等应用场景,也是适合专业人士,不太适合普通人入手。

然后就是排在第 9 的 SQL,主要用于数据分析领域,也是适合专业人士,不太适合普通人入手。

然后再就是第 10 的 Fortran,其实说实话,我没见过这个。我还特意去问了下 ChatGPT,ChatGPT 说 Fortran 主要应用于科学计算和工程计算领域,特别适合处理数值计算、复杂数学模型和大规模数据分析。既然我这个专业做过编程的都没见过,那也就不推荐给普通人学了。

还有前面说的 PHP ,作为“世界上最好的编程语言”,它都没有上榜。“世界上最好的编程语言”这是一个梗,不是因为它有多好,而是因为它的缺陷足够烂。

所以,从世界编程语言排行榜上,我从头到尾都淘汰了一遍。那就只剩最后一个编程语言,也就是 2023 年和2024 都荣登排行榜的 No.1 的编程语言:Python。

对我们普通人来说,学习编程语言,Python 是首选,也是唯一选择,舍我其谁。

在 Python 众多名人金句中,我还是最喜欢这句:“人生苦短,我用 Python”,而这句话出自Python之父吉多·范罗苏姆(Guido van Rossum)。这句话同时意味着 Python 作为一种编程语言,因其简洁、高效和丰富的库,可以帮助开发者更快速地完成项目,从而节省时间。

这句话也反映了 Python 社区的一种文化,强调使用 Python 来提高工作和生活的效率。

Python 在应用场景上非常广泛。除了能开发网站外,在数据分析、人工智能的编程语言选择上,Python 也是首选。我们在搞钱过程中,一些自动化工具的开发,Python 编程语言也都是首选。比如视频批量自动合成、图文笔记批量生成,这对 Python 来说都是小意思。

简单易学且功能强大,最后你会忍不住爱上Python!最后你也会发现,写代码就如同写诗、写文案一样,都是在书写着你的绚丽人生!

图片[1]-AI 编程(爬虫) | 实战手册

1.3.2 为什么航海从爬虫入手教大家?

先看一个圈友的帖子:《一个人可以不依赖于别人,创造出一些新东西,这是真正快乐的来源》。

没错,这个圈友就是我们的星主亦仁。完全不懂技术,借助 AI 写代码、自学编程,仅需 1 晚完成网站爬虫抓取。这对不懂技术的普通人来说,是里程碑的时刻。

随着互联网发展,普通人需要编程的能力来更好的驱动 AI 工具的使用、更好的驱动这个数字化的世界!但是,编程学习门槛高,让人望而生怯。正好我们可以借助 AI 工具来降低我们学习门槛,帮我们写代码,这也是我们航海项目主题为什么叫 AI 编程的原因。

但 AI 生成的代码,并不能在 AI 上直接运行。所以,我们需要安装并且配置代码所需要的运行环境及工具,这便是航海手册【第二章:应用工具准备】的应用内容——手把手教大家准备好准备好 AI 工具、Python 环境、Python 代码编辑工具,为 AI 编程做好必要的工具和环境准备。

一般的编程学习,在工具准备之后应该是学习 Python 基础语法,但是考虑到上来就直接学语法太过枯燥,很可能打消大家学习的积极性。

所以,我们决定先带大家实战,感受 AI 编程的魅力。借助 AI 完成代码编写,感受 AI 的强大;并且成功运行代码获得相应结果,感受编程的快乐!

但是,编程实战案例,可以做自动化工具、可以写网站、可以做数据分析,我们为什么选择爬虫案例呢?

我曾在《黑科技竟然垫底!互联网5大最火赚钱技术揭秘》一文中,把爬虫技术评为互联网最赚钱的技术(后来 AI大火成为趋势,然后把 AI 换成第一,爬虫换成第二了)。

掌握爬虫技术,就等同于掌握了信息搜集、商机搜集的能力,它是我们商业化应用中非常重要一种能力。我在之前分享的一篇《每天稳定新增150+好友,用技术让私域流量实现主动引流》,也是典型的信息搜集(搜集微信号集中起来),然后再去主动添加等,实现对应的商业价值。

而且爬虫技术除了“值钱”外,在编程领域,也是非常难且有挑战性的一门技术。如果大家可以利用 AI 掌握爬虫的基本能力和信息搜集的思维,这无疑对我们学习编程而言帮助巨大。

这就是我们编程案例为什么选择爬虫实战,这也是我们航海项目主题最终确定为“AI编程(爬虫)”的原因。

所以,在【第三章 如何借助 AI 做出爬虫应用】,我们提供了 2 种常用的爬虫案例,一是爬取网站文章,二是爬取网站的图片和音视频素材。

注意,这里都必须是不用登录的网站,比如,微信公众号、百度、新浪等;需要登录的网站太过复杂,新手很难一下子掌握,这期航海暂时不讲。

每个案例,大家都要完成4个步骤:

1.要安装配置爬虫代码运行所需要的相关环境。

2.通过提示词,借助 AI 工具来替我们完成爬虫代码的编写并完成运行。

3.借助 AI 工具解决常见 Bug。通过 AI 工具生成的爬虫代码在运行过程中,不免代码报错,这时候要学会利用 AI 工具帮忙 Debug 排错。

4.最后,可以根据自己的需求,灵活调整提示词,做出符合自己需求的爬虫工具。

在这一章,你无需纠结于具体的代码是什么意思,关键是掌握借助 AI 完成爬虫工具的思路。

接下来的【第四章 借助 AI 学习理解 Python 的语法和爬虫代码】,将带大家理解代码,包括 Python 基础语法和爬虫代码。

这些基础语法虽然枯燥,但它们都是编程思维最重要的体现。基础的语法,体现着编程的严谨性、自动化、批量化等重要的编程思维。

在了解 Python 基础语法后,这一章也会详细跟大家解释我们第三章实战案例中,AI生成的那些代码到底是怎么意思。让大家了解,我们爬虫代码是如何从 0 到 1 写出来的。

通过学习,你就能明白程序员是如何写爬虫代码的了,也能更好得理解和应用这些代码了。

在最后选修部分的【第六章 如何快速掌握更多编程的应用项目】,带大家了解下我们互联网最大的开源软件(开放源代码)项目库:Github,里面有各种各样的免费且极具价值的软件项目。

比如大家常用的图片、短视频下载软件,在 Github 里面都能找到免费版本。而且我们用的这些付费版本的软件源码,大多也都是在 Github 上找的免费版本上进行二次开发而来的,这样能有效避免我们从 0 到 1 造轮子。

接下来,就让我们一起开启AI编程的新世界大门吧!

图片[5]-AI 编程(爬虫) | 实战手册

1.4 AI编程学习建议

1.4.1、80%的问题是没有认真看手册

大家在航海过程中,一定要认真仔细的看航海手册,航海手册的每一句话、每一个配图、每一个视频讲解,以及每一次高手领航,大家都需要认真反复的学习,基本上就能跑通我们所有的案例就很容易了。

1.4.2、所有问题都可以让AI协助你解决

大家不要遇到点问题就想着让别人帮忙解决,我们一定要学会利用ChatGPT解决我们所遇到的所有问题,AI是我们核心竞争力。我们本次航海,也是核心借助AI辅助我们学习编程,辅助我们学习爬虫代码。

1.4.3、AI能降低你学习编程的门槛,不等于没门槛

编程是有门槛的,AI能降低我们学习的边门,但不等于没门槛。ChatGPT是一个遇强则强,遇弱则弱的超级人工智能工具,能不能让它辅助我们学习及创造更多价值的核心因素在于我们对知识的理解和掌握程度。

当然大家刚开始接触编程,可能对编程没概念,所以一定要仔细学习航海手册,有了初步了解后,然后再结合AI让我们对编程进一步学习。这样你就越来越强啦,用AI也会越来越顺了。

1.4.4、有问题是好事,不要害怕问题

不要遇到一点点问题,就想着放弃,想着技术很难等逃避的理由。在我们成长过程中,需要我们有强大的探索精神和解决问题的能力,而编程就是一个很好的试金石技能。

这个就跟我们赚钱一样,是不是在赚钱道路上遇到一点问题,就要放弃呢?不断的解决问题的过程,这才是我们成长的过程。只有这样,我们才会变得更优秀。而优秀的人,学习能力、解决问题的能力都很高,而这些都是靠后天锻炼出来的。

1.4.5、要有利他精神

我们先跑通的圈友,可以多帮助那些非技术专业且学起来费劲的圈友。以及在航海中其实蛮多程序员的圈友,千万不要错过这个展示自己的这个机会!

而你在帮助别人的同时,同时也在成就你自己!因为利他便是利己,这时候说不定你就遇到你的事业合伙人,人生贵人!

图片[1]-AI 编程(爬虫) | 实战手册

二、【项目实操1/3】AI 编程应用工具的准备 @乔帮主

💡章节概要

在这一节,我们将完成 AI 编程应用工具的准备,正式打开 AI 编程(爬虫)的大门。

工具一共有三个:

AI 工具

Python 软件

Python 编辑器

由于本次航海技术门槛比较高,需要用到地表最强的AI工具:ChatGPT4o或者ChatGPT4.0,需要大家自行解决网络和账号问题。无法搞定的,我们提供了一个国内就能访问的1比1的GPT镜像站作为大家的备选(无需邮箱直接注册):https://openai.chatgpts.pro/

其余两个工具,本章将手把手教你完成安装。

注意:以上工具都需要Windows或者Mac电脑,手机或者Ipad都不行,因为Python软件和Python编辑器都是只支持电脑安装的。

💡

本章航线图

完成本章节的学习和实操,即可完成航线图的第一阶段:完成工具准备(约 1~2 天)

准备 AI 工具——ChatGPT3.5(约 30 min)

成功安装 Python 软件,并做好配置(约 30 min)

成功安装编写 Python 代码的工具(约 30 min)

编写人生的第一行代码:“sheng cai you shu”,熟悉代码工具的使用(约 10 min)

那么现在,就请开始学习吧。

2.1 需要准备哪些工具?@乔帮主

1.准备 AI 工具。

我们需要借助 AI 工具来降低我们学习编程门槛,并帮我们写爬虫代码,所以 AI 工具的使用是核心。我们推荐使用ChatGPT-4o来跑我们实战案例,国内的大模型AI工具满足不了我们跑实战案例需求。

2.安装并配置 Python 环境。

安装 Python 是为了在本地运行和测试 AI 生成的代码。

AI 生成的代码并不能在 AI 上直接运行,需要用单独的环境运行AI生成的代码。安装 Python 后,还需进行环境配置,包括设置路径和安装必要的库,以确保 Python 环境能够正常运行。

3.安装代码编辑器。

是为了编写我们 Python 代码的工具,程序员写代码就是用的这个。使用 AI 生成后的代码,可以放在编辑器中直接使用,也可以修改调整。代码编辑器不仅提供代码高亮和语法提示,还支持插件扩展,增强代码编写和调试的效率。

4.配置爬虫代码环境。

我们爬虫代码的运行,需要 Python 相关的依赖库和插件驱动,这个我们会在第三章跟大家详细讲解。

💡注意:以上工具都需要Windows或者Mac电脑,手机或者Ipad都不行,因为Python软件和Python编辑器都是只支持电脑安装的。

图片[1]-AI 编程(爬虫) | 实战手册

2.2 准备好 AI 工具 @乔帮主

我们AI工具主要需要ChatGPT-4o 或者 ChatGPT-4.0(需要解决网络问题,并且这两个版本需付费),它们生成的代码更加精准,出 Bug 的几率更少,以及后面代码排错更加智能。

如果只有ChatGPT-3.5也行,但是这块改Bug等可能会很费劲,不确定最后是否能把实战案例跑通。我们航海手册实战案例,都是基于ChatGPT-4o跑通的。

替代工具:我们提供了一个国内就能访问的1比1的GPT镜像站作为大家的备选(无需邮箱直接注册):https://openai.chatgpts.pro/ 。这个1比1的GPT镜像站,跟使用GPT官网体验一模一样,比一般的GPT套壳工具要好用,作为大家的备选。

值得注意的是,国内的 Kimi 等 AI 工具满足不了我们需求,他们生成代码的智能程度远不及 GPT,代码运行爬不到我们要的网站数据。GPT是真的会帮忙去分析网站结构,并写出爬虫程序。而国内大模型写的代码,大多都爬不到数据。其实从这个深度的场地也可以看到,GPT在复杂的任务场景上,是其他大模型没办法相提并论的。

有圈友说用智谱清言跑通了代码,这块我们航海手册并没有这些国内大模型的细节上做测试,还是建议统一采用GPT付费版本确保这块实战效果。

图片[1]-AI 编程(爬虫) | 实战手册

2.3 安装 Python @邱比特

我们已经有了 AI ,接下来所有的操作,我们都掌握一个套路:“万事不决先问AI”,得到答案后,按照 AI 的指示进行操作。赶快开始吧!

2.3.1 确定要安装的 Python 版本

1.先问 ChatGPT,获取答案

在安装 Python 前我们需要选择安装版本,我们先来问问ChatGPT看看Python有哪些版本?

提示词:

💡截止到目前 Python 有哪些版本?

2.ChatGPT的回答:

图片[9]-AI 编程(爬虫) | 实战手册

ChatGpt 告诉我们,截止到2022年,最新的稳定版本是 Python 3.10。而且还提供了Python Release页面。

图片[10]-AI 编程(爬虫) | 实战手册

从 Python Releases 页面看到,目前最新最稳定的版本还是 Python 3.10。

由于 GPT 回复的随机性,不同时间问答案会有差异,有可能你得到的答案和我的不完全一样。但也无需纠结,我们这里安装 3.10 版本就可以。

图片[1]-AI 编程(爬虫) | 实战手册

2.3.2 在 Windows 上安装 Python

1.先问 AI,获取答案

提示词:

💡如何在 Windows 上安装 Python 3.10?

2.ChatGPT 的回答

图片[12]-AI 编程(爬虫) | 实战手册

Gpt 每次给出的回答可能会有些许不同,但核心步骤都是一样的,可以总结为以下几步:

•官网下载安装包

•运行安装程序

•进行安装

•完成安装

•验证安装版本

3.按照 AI 的回复,进行安装操作。

第1步,点击 官网Windows下载链接 下载Python3.10版

在下载页面中,你会看到两个不同的安装程序:一个是 64 位版本,另一个是 32 位版本。根据你的操作系统选择合适的版本。目前大部分电脑都是 64 位的,可以根据自己的电脑选择。

图片[13]-AI 编程(爬虫) | 实战手册

安装包我也给大家下载好了,直接使用即可。

•64位(适合64位操作系统,基本上现在都是64位的版本)

python-3.10.11-amd64.exe

•32位(适合32位操作系统,这是老的一些操作系统才有32位)

python-3.10.11.exe

💡注意:

1、截止到2022年,最新的稳定版本是 Python 3.10。虽然官网有3.11、3.12的版本,但不推荐。

2、如果自己从官网上下载的安装包,不要安装3.10.12/3.10.13/3.10.14版本,没有installer安装包。建议就直接用我们提供的3.10.11的安装包即可。

第2步,运行安装程序。

下载完成后,双击下载的安装程序以运行它。在安装程序窗口中,你可以选择是否要添加Python 到系统路径中,通常建议勾选此选项以方便在命令提示符中使用Python(要不然还要手动配置这块很麻烦)。

图片[14]-AI 编程(爬虫) | 实战手册

💡注意:

1、记得勾选截图中的“Add python.exe to PATH”。

2、我们默认选择“Install Now”自动安装即可,“Customize installation”是自定义安装,比如把Python安装到D盘,可以选择自定义安装。

第3步,按向导完成安装

图片[15]-AI 编程(爬虫) | 实战手册

安装完成后的界面如下图所示:

图片[16]-AI 编程(爬虫) | 实战手册

第4步,验证安装

在windows里打开命令提示符:

图片[17]-AI 编程(爬虫) | 实战手册

然后输入“python”回车,出现以下内容说明安装成功:

图片[18]-AI 编程(爬虫) | 实战手册

图片[1]-AI 编程(爬虫) | 实战手册

2.3.3 如何在 macOS 上安装 Python ?

1.先问 ChatGPT,获取答案

提示词:

💡如何在 macOS 上安装 Python 3.10?

2.ChatGPT 的回答

图片[20]-AI 编程(爬虫) | 实战手册

同样可以总结以下几个步骤:

•官网下载安装包

•双击运行安装包

•按安装向导完成安装

•验证安装版本

3.按照 AI 的回复,进行安装

第1步,点击 官网macos的下载链接 下载 Python3.10 版本

为了跟上面 Windows 的安装保持一致,我们也选择安装3.10.11版本。

图片[21]-AI 编程(爬虫) | 实战手册

安装包我给大家下载好了,直接使用即可。

python-3.10.11-macos11.pkg

第2步,运行安装程序

图片[22]-AI 编程(爬虫) | 实战手册

第3步,按安装向导完成安装。

图片[23]-AI 编程(爬虫) | 实战手册

图片[24]-AI 编程(爬虫) | 实战手册

图片[25]-AI 编程(爬虫) | 实战手册

图片[26]-AI 编程(爬虫) | 实战手册

图片[27]-AI 编程(爬虫) | 实战手册

图片[28]-AI 编程(爬虫) | 实战手册

第4步,验证安装

打开启动台,选择其他,然后进入终端:

图片[29]-AI 编程(爬虫) | 实战手册

在终端命令行输入 python3.10 然后点击回车

图片[30]-AI 编程(爬虫) | 实战手册

看到下面信息就表示安装成功!

图片[31]-AI 编程(爬虫) | 实战手册

备注:由于 mac下有可能自带 Python 环境(操作系统自带,或者安装其他软件把Python给装上)影响导致执行python3.10 看不到以上结果,这时候我们在命令行输入:python 再点击 2 次[tab键]

会出现类似以下多个 python 开头的命令:

python python-config python3 python3-config python3.10.11 python3.10.11-config

这时候把 python、python3.10、python3.10.11 这几个命令都试下,找到我们装的 3.10.11 版本的python即可。

图片[1]-AI 编程(爬虫) | 实战手册

2.4 安装代码编辑器 @毅鸣

1.先问 ChatGPT,获取答案

提示词:

💡下载一款 Python 编辑器?

2.ChatGPT 的回答

图片[33]-AI 编程(爬虫) | 实战手册

GPT 给出了 4 款编辑器。这里我们建议用 PyCharm,它的适用性更广一些。

💡有圈友问能不能用 VScode ,代码编辑器这块都差不多。如果自己有技术背景能力,选择自己熟悉擅长的都行,遇到相应问题自己有能力解决就好。

如果是初学者,建议统一用我们指定的环境版本,这样遇到相应问题,方便大家协助排错。如果初学者选择了我们航海手册以外的工具,遇到相应问题,这块不一定能有效协助解决。

再进一步问“如何安装 PyCharm 编辑器”:

图片[34]-AI 编程(爬虫) | 实战手册

ChatGPT 给出了详细的步骤,一共有 4 步。第 5 步是付费版才有的,第 6 步暂时不用设置。

3.按照 ChatGPT 的回复,进行安装操作。

第 1 步,找到 PyCharm 的官网,选择免费版

首先 Google 或者 Baidu 搜索 pycharm ,找到其官网:

图片[35]-AI 编程(爬虫) | 实战手册

•点击链接:https://www.jetbrains.com/zh-cn/pycharm/

然后选择截图中右上角的“下载”进入下载页面。

图片[36]-AI 编程(爬虫) | 实战手册

•选择windows/MacOs/Linux

图片[37]-AI 编程(爬虫) | 实战手册

•下载社区版本 PyCharm Community Edition。因为是免费的。

页面下滑,然后下载社区版 PyCharm Community Edition,不要去下载专业版 PyCharm Professional(不是免费版,要破解,很麻烦)

图片[38]-AI 编程(爬虫) | 实战手册

第 2 步,下载适合自己的电脑的安装包

•我们 Windows 有两个安装包版本:

图片[39]-AI 编程(爬虫) | 实战手册

这两个版本,我用哪一个呢?其实我们遇到的问题,都可以找ChatGPT协助解决(我是把以上截图直接扔给ChatGPT,然后GPT很快帮忙解答了):

图片[40]-AI 编程(爬虫) | 实战手册

•我们 Mac 也有两个安装包版本:

图片[41]-AI 编程(爬虫) | 实战手册

同样这两个版本,我用哪一个呢?然后依然截图给ChatGPT(或者用提示词问这两个版本选择哪一个的效果也是一样的):

图片[42]-AI 编程(爬虫) | 实战手册

💡注意,我们有圈友选择了跟自己电脑处理器型号不一样的安装包,下载的PyCharm运行会不正常。

第 3 步,运行安装程序&安装

下载完成后,直接一路安装即可。

图片[43]-AI 编程(爬虫) | 实战手册

图片[44]-AI 编程(爬虫) | 实战手册

安装选项,建议勾选创建桌面快捷方式,这样方便后面直接使用。

图片[45]-AI 编程(爬虫) | 实战手册

图片[46]-AI 编程(爬虫) | 实战手册

图片[47]-AI 编程(爬虫) | 实战手册

图片[48]-AI 编程(爬虫) | 实战手册

下面是 Mac 电脑的安装步骤截图:

双击下载后的安装包,出现如下截图,将 PyCharm CE 拖进 Application

图片[49]-AI 编程(爬虫) | 实战手册

然后,在【启动台】双击 PyCharm CE

图片[50]-AI 编程(爬虫) | 实战手册

图片[51]-AI 编程(爬虫) | 实战手册

图片[52]-AI 编程(爬虫) | 实战手册

就完成安装啦!

第 4 步,启动Pycharm

图片[53]-AI 编程(爬虫) | 实战手册

图片[54]-AI 编程(爬虫) | 实战手册

图片[55]-AI 编程(爬虫) | 实战手册

图片[1]-AI 编程(爬虫) | 实战手册

2.5 人生的第一行代码:“sheng cai you shu” @乔帮主

体验代码编辑器的使用,敲下人生中的第一行代码。

操作演示

人生第一行代码.mp4 【在线播放】

第1步,新建一个项目

New 一个project

图片[57]-AI 编程(爬虫) | 实战手册

Name 表示项目名,默认即可。

Location 表示存储的目录,默认即可。

Python version 表示我们Pycharm编辑器运行代码,用的Python环境。这里会通过环境变量,自动识别我们安装Python在哪里。所以,也默认即可。

图片[58]-AI 编程(爬虫) | 实战手册

💡注意,截图中“ Python version: ”这里会自动识别我们安装的3.10版本的 Python 环境。如果这里没有识别到我们的Python环境,说明【2.3 安装 Python】没有成功安装。

如果这里没有识别我们装的 Python 环境,在 PyCharm 中运行代码会出现提示框让我们选择 Python 环境,并不能成功运行代码。

第2步,新建代码文件

在我们新建的“pythonProject”项目右键鼠标-点击“New”-再点“Python File”,新建一个python的代码文件:Hello.py(按照以下截图,输入文件名Hello然后回车就新建出来了)

图片[59]-AI 编程(爬虫) | 实战手册

第3步,写人生第一行代码

写一行最简单的代码,打印“sheng cai you shu”,代码如下:

💡print(“sheng cai you shu”)

双击Hello.py,在右侧输入以上代码。注意:一定要用英文输入,确保标点符号输入正确。

图片[60]-AI 编程(爬虫) | 实战手册

第4步,运行代码

在窗口右上角,有个绿色播放按钮,点击可以直接运行代码:

图片[61]-AI 编程(爬虫) | 实战手册

或者,我们在Pycharm窗口右边Hello.py代码文件里右键,选择“Run ‘Hello’”也能一样运行代码。

再或者,我们在Pycharm窗口左边右键Hello.py文件,选择“Run ‘Hello’”也能一样运行代码。

图片[62]-AI 编程(爬虫) | 实战手册

第5步,查看运行结果

在底部窗口第一行:“C:UsersAdminPycharmProjectspythonProject.venvScriptspython.exe C:UsersAdminPycharmProjectspythonProjectHello.py ” 为我们可以看到代码运行的命令

底部窗口第二行:“sheng cai you shu”为运行的结果。

底部窗口第三行:“Process finished with exit code 0” 为代码运行状态。

图片[63]-AI 编程(爬虫) | 实战手册

我们写代码是一个非常严谨的过程,一点点错误,都可能导致代码运行报错。

比如,我在代码里面,随便加个中文逗号“,”,我们再运行代码,就可以看到以下报错(运行前,我们代码中其实就有红色警告提醒了):

图片[64]-AI 编程(爬虫) | 实战手册

扩展学习:打印航海圈的Logo“术”

在项目里面再新建一个“Hello02.py”的python代码文件,然后【复制】以下代码到Hello02.py中运行(点【附件页面】进入复制以下代码内容):

图片[65]-AI 编程(爬虫) | 实战手册

运行结果,我们可以看到用“*”组装了一个航海圈的Logo“术”:

图片[66]-AI 编程(爬虫) | 实战手册

图片[1]-AI 编程(爬虫) | 实战手册

三、【项目实操2/3】如用借助 AI 做出爬虫应用 @乔帮主

💡章节概要

这一章,我们进入 AI(编程)的实战部分,做出爬虫应用。

首先,大家需要先了解学习的方法和爬虫的原理:

【3.1 如何借助 AI 学习编程】

【3.2 了解爬虫工具原理】

然后,我们就可以开始实战了:

第一步,先配置好爬虫环境

第二步,再借助 AI 帮我们写出爬虫代码,并安装应用。这里一共会讲两个案例:

✅爬取微信公众号文章

✅爬取百度图片

赶快开始吧!

💡

本章航线图

完成本章节的学习和实操,即可完成航线图的第二阶段:借助 AI 完成爬虫应用实战(约 5~6 天)

了解如何借助 AI 学习编程(约 1-2 h)

借助 ChatGPT 制作爬虫工具爬取公众号文章(约 2 天)

借助 ChatGPT 制作图片&音视频爬虫工具(约 2 天)

借助 ChatGPT 解决爬虫工具中的常见 debug(约 2 天)

那么现在,就请开始学习吧。

3.1 如何借助 AI 学习编程?@乔帮主

使用 AI 的核心,在于提示词。如果我们对哪块知识不懂,可以通过提示词来驱动 AI 为我们答疑解惑,直到把我们教会、教懂为止。

提示词的质量,决定了AI 能不能有效辅助我们进行学习,所以,我们要求提示词要写的精准。下面给大家一个好用的提示词模版。除了学习 Python 编程知识外,也可以借助以下提示词模板学习其他学科知识(点【附件页面】进入复制以下提示词内容):

💡背景:说明背景,提供充足信息,它帮助 AI 更好地理解问题背后的意图和情境。 角色:是让 AI 扮演某种特定的角色,如“资深产品经理”“Python老师”等,这有助于让 AI 直到自己的能力边界和职责所在。 目标:你要 AI 做的事情的一个描述,这是为了让 AI 知道实现目标所需的具体、可衡量的内容。 结果:对于 AI 输出的回答,在风格、格式、内容等方面的要求,这样有助于让 AI 输出的内容风格更加符合我们的要求和期待。

比如,按照以上的提示词模版,我们可以通过以下提示词,让我们快速的学习 Python 知识(点【附件页面】进入复制以下提示词内容):

💡背景:我是一个 0 基础,完全不懂编程的普通人, 角色:请你担任经验丰富的 Python 老师, 目标:我要你教会我学习 Python 基础语法, 结果:请你以通俗易懂的语言跟我描述什么是变量?

注意,为了方便大家理解提示词模板,以上提示词加了注释解释,拷贝给 AI 的时候需要采用以下版本。否则不必要一些额外信息,都可能影响 AI 回答我们内容的准确性(点【附件页面】进入复制以下提示词内容):

💡我是一个 0 基础,完全不懂编程的普通人, 请你担任经验丰富的 Python 老师, 我要你教会我学习 Python 基础语法, 请你以通俗易懂的语言跟我描述什么是变量?

除了我们可以用 AI 辅助我们学习 Python 编程知识外,我们也可以借助 AI 帮我们写爬虫代码,这是对 AI 的进一步的深度使用。比如,本章的实战案例提示词(点【附件页面】进入复制以下提示词内容):

💡写一个爬虫程序,按下面的要求在我的 windows 电脑上帮我抓取微信公众号文章。 1. 使用 python3 和最新版的 selenium 2. 目标网站:https://weixin.sogou.com/ 3. 输入关键字[ AI ],点击[ 搜文章 ]按钮 4. 爬取内容: 爬取标题、摘要、链接、来源 5. 爬取后的内容保存到Excel文件中,Excel文件命名为AI_微信_时间 6. 爬取前5页,每爬完1页休眠5s 请给我完整可运行的程序,让我看到浏览器中操作的过程,并指导我安装程序依赖的所有库。 你可以先执行步骤 2 和步骤 3 了解网页的结构,然后再生成代码。

生成的代码我们可以自己拷贝到本地来运行,代码报错的话,也只需把报错明细拷贝给AI,它就能帮你改为正确的代码。

但是值得注意的是,AI 是一个遇强则强、遇弱则弱的人工智能工具。如果想用AI对我们某一领域知识深度学习及辅助,这需要我们对这领域的知识要熟悉、甚至需要精通,这样我们才能进一步深度的使用AI替我们做些事情。

要不然你跟 AI 之间的对话,也许只有一轮,因为你没有对应的知识转换成提示词去驱动它。比如,以上的爬虫提示词,这需要你对爬虫整体的专业知识,要有所了解,甚至要很熟悉。要不然你就没办法从0到1写出对应的提示词,就更没办法驱动AI帮忙写爬虫代码。

当然大家也不必担心,很多参加本航海项目的,大多可能都是 0 基础的小白,通过本章的学习,会让大家掌握爬虫的知识使用,也会让大家掌握怎么用 AI 写出爬虫程序!

图片[1]-AI 编程(爬虫) | 实战手册

3.2 了解爬虫工具原理 @乔帮主

3.2.1 了解爬虫工具

什么是爬虫呢?爬虫工具的原理是什么?这个问题我们也可以借助 AI 替我们很好的回答,通过以下提示词(点【附件页面】进入复制以下提示词内容):

💡我是一个 0 基础,完全不懂编程的普通人, 请你担任经验丰富的 Python 老师, 我要你教会我学习 Python, 请你以通俗易懂的语言跟我描述什么是爬虫?帮忙解释爬虫工具原理。

下面是我在 GTP 的回答基础上,适当增加了一些解释,让它变得更好理解一些。

•什么是爬虫?

网络爬虫(Web Crawling)也被称为网络蜘蛛或网页抓取,是一种自动从互联网上获取数据的技术。

简单来说,它就像是一个自动的浏览器,可以按照我们的指令,访问我们指定的网页,然后从这些网页中抓取我们需要的信息,并且以我们需要的形式保存下来。

•爬虫的工作原理是怎样的呢?

1.发送请求。首先,爬虫会像普通用户一样,向目标网站的服务器发送一个请求(Request),这个过程类似于你在浏览器中输入网址并按下回车。

2.获取响应。如果服务器允许,它会回应(Response)这个请求,通常是以 HTML 格式的网页内容返回给爬虫。

3.获取数据并且解析内容。爬虫获取到 HTML 后,会从中解析出我们需要的信息。比如,你想从一个购物网站获取商品的价格信息,爬虫就会找到那些价格所在的 HTML 标签,并抽取出价格数据。

4.存储数据。抽取出的数据可以被存储到数据库中,或者以文件、图片的形式保存,方便后续的使用或分析。

3.2.2 为什么我们讲下面两种爬虫案例?

爬虫技术,在我们编程领域,是非常难且有挑战性的一门技术。哪怕是编程人员,在这方面没个几年代码功底,也很难搞定这块。

尤其是涉及爬取一些复杂网页、需要登录的页面(验证码问题),以及很多网站常常有反爬限制(会识别你在爬取内容,自动封禁),相应的技术极其复杂。

所以,本次的案例选择考虑了两个方面:1)爬虫代码的工作方式。2)爬的网站类型。

•利用代码实现爬虫工作有两种方式

一种是:让代码打开浏览器去模拟人工在浏览器上的操作,爬取结果。这种流程方式对普通人来说更加友好,方便理解。所以,本次航海将会讲的两个实战案例就是这种。

还有一种是:通过 API 接口访问,也就是完全通过编程方式与目标网站服务器进行通信,上面一种方式是通过浏览器跟目标网站服务器通信。完全通过代码爬取,不借助浏览器。这种更加专业,需要有编程经验才能好理解,不作为本次航海实战案例。

•常见的网站有 2 种

一种是:不需要登录的网站。比如,百度、搜狐、新浪等等,这种相对简单很多。

另一种是:需要登录的网站。比如,小红书、抖音、微博等等,这种需要解决登录的问题,这块儿的代码很复杂,对程序员而言都有一定的难度。

所以,为了降低大家的学习门槛,综合考虑以上两个因素。特意挑选了两个不需要登录网站的实战案例:爬取文本内容及爬取图片内容。

值得注意的是,我们在真实的实践应用场景中,不会真的通过 AI 写爬虫代码去抓取目标数据。虽然 AI 降低了写爬虫代码的门槛,但毕竟还是写代码,操作起来还是有一定门槛。我们一般是直接使用 RPA、八爪鱼这类爬虫工具来直接爬取我们需要的内容。

那你可能要说,我干嘛不直接用 RPA、八爪鱼,因为很多没有代码基础的人,不具备底层的编程能力,不理解工具的使用原理,导致遇到问题不知道如何解决,有很多使用方法也无法灵活运用。

所以,通过这两个实战案例,我们更多是希望大家掌握应用 AI 学习编程的方法,一方面掌握 AI 的应用能力,另外一方面也掌握应用爬虫代码的能力。

只有我们掌握这底层的能力,我们以后用 RPA、八爪鱼这类爬虫工具的时候,就能更加得心应手。

图片[1]-AI 编程(爬虫) | 实战手册

3.3 配置爬虫环境 @乔帮主

下面,我们就进入实战环节。

在接下来的两个爬虫实战案例,我们还需要安装 Python 爬虫代码运行所依赖的库和插件驱动,否则爬虫代码会无法正常运行。

3.3.1 配置爬虫环境需要用到哪些工具?

爬虫要配置的环境主要有两类:

第一类:访问浏览器,需要用到的工具。

所有的爬虫工具都必须要使用谷歌浏览器,同时搭配浏览器驱动,才能确保爬虫代码可以访问浏览器。

访问浏览器后,还需要工具来控制浏览器。就要用到 Selenium 。

💡Selenium 简介

Python 的 Selenium 是一个用于自动化网页浏览的工具。它可以让你通过编程来控制浏览器,模拟人在网页上进行的各种操作,比如点击按钮、填写表单、滚动页面、提交数据等。Selenium常用于自动化测试,也可以用于数据抓取(爬虫)和网页交互任务。

Selenium 库提供了多种语言的接口,其中 Python 是最常用的之一。通过 Python 的 Selenium 库,你可以编写脚本来控制浏览器的行为,并与页面进行交互。它可以与各种主流的浏览器(如Chrome、Firefox、Safari等)结合使用,支持多种操作系统。

Python 的 Selenium 通常需要与浏览器驱动器(如 ChromeDriver、GeckoDriver 等)配合使用,用于实际控制浏览器。你可以通过安装 Selenium 库和相应的浏览器驱动器来开始使用,并根据自己的需要编写相应的 Python 脚本来实现自动化任务。

所以,谷歌浏览器、浏览器驱动& Selenium 这三个工具。是“3.4 实战一:借助 AI 爬取微信公众号文章” 和 “3.5 实战二:借助 AI 爬取百度图片” 同时要用到的。这是我们爬虫实战必备的环境。

第二类:处理数据和内容,需要用到的工具

我们爬取内容的形式不同,在爬虫代码中需要配备的 Python 库就不同(可以理解为 Python 代码中的工具),这个具体看 ChatGPT 生成的代码会用到哪些库。比如:

“3.4 实战一:借助 AI 爬取微信公众号文章” 需要把数据存放在Excel中,需要用到Excel相关库。

“3.5 实战二:借助 AI 爬取百度图片” 需要获取的图片内容,需要用到获取图片内容的库。

Excel相关库和获取图片内容的库有很多种,在后面的实战中根据 ChatGPT 的建议配置即可 。

图片[1]-AI 编程(爬虫) | 实战手册

3.3.2 安装配置爬虫环境

接下来我们具体来安装爬虫所需要的依赖库和相关程序。

这里我们只安装所有爬虫工具通用的“第一类,访问浏览器,需要用到的工具”;

“第二类:处理数据和内容,需要用到的工具”,由于爬取不同的内容,需要的库不同,所以我们在【3.4实战一】和【3.5实战二】的部分结合具体的实战,再详细讲。

第一步,安装谷歌浏览器&浏览器驱动

💡特别值得注意的,谷歌浏览器和对应的浏览器驱动的版本型号要一致,要不然我们Python爬虫代码就没办法正确自动打开谷歌浏览器进行数据爬取,这是我们经常容易出错的地方。

1.安装谷歌浏览器

谷歌浏览器安装包下载地址(用360安装也一样):

https://www.google.cn/intl/zh-CN/chrome/

下载本地点击安装,默认都是采用下一步直到安装完毕。

2.确认谷歌浏览器的版本

选择浏览器右上角三个点,然后选择帮助,再选择关于Google Chrome:

图片[71]-AI 编程(爬虫) | 实战手册

确认谷歌浏览器Chrome的版本号:

图片[72]-AI 编程(爬虫) | 实战手册

我这里版本是: 126.0.6478.62(正式版本) (64 位)

3.下载浏览器驱动

💡•以下驱动的版本和以上安装的谷歌浏览器的版本要对应,这两个一定要对应起来。后面会在代码中配置驱动的路径,如果不对应,运行代码,代码打开不了浏览器,就爬不了数据了。

•如果谷歌浏览器更新了,记得更新我们的驱动,否则驱动也是打开不了浏览器。

我们驱动下载地址:

https://registry.npmmirror.com/binary.html?path=chrome-for-testing/

直接在以上链接地址“ Ctrl + F ” 搜索浏览器版本的前3位版本号 “126.0.6478”(这里根据大家实际自己的浏览器版本来确定):

图片[73]-AI 编程(爬虫) | 实战手册

我浏览器完整的版本是“126.0.6478.62”,其中“.62” 是小版本号,在以上截图版本选择一个最接近我们小版本的是“126.0.6478.61”,点击这个进入:

图片[74]-AI 编程(爬虫) | 实战手册

我的是win64,我就直接选择了win64。如果你们是mac,选择mac-arm64还是mac-x64,这个问题你们可以很好的问下ChatGPT辅助我们选择。

图片[75]-AI 编程(爬虫) | 实战手册

截图中的“chromedriver-win64.zip” 就是我们的驱动,把它下载到本地。

4.安装浏览器驱动

Windows操作步骤:

1)下载到本地电脑后解压压缩包

图片[76]-AI 编程(爬虫) | 实战手册

2)把chromedriver.exe驱动程序放到c盘(或者其他地方都行,后面会把这个驱动程序的文件路径配置到代码中):

图片[77]-AI 编程(爬虫) | 实战手册

Mac操作步骤:

1)下载到本地电脑后解压压缩包

图片[78]-AI 编程(爬虫) | 实战手册

2)把chromedriver文件放到/usr/local/bin目录下(或者其他地方都行,后面会把这个驱动程序的文件路径配置到代码中)

•点击【前往】

图片[79]-AI 编程(爬虫) | 实战手册

•输入/usr/local/bin,然后回车。

图片[80]-AI 编程(爬虫) | 实战手册

•拷贝解压后的chromedriver文件放到/usr/local/bin目录下

图片[81]-AI 编程(爬虫) | 实战手册

报错示例:macOS无法验证此App不包含恶意软件

第二步,安装 Selenium

打开 PyCharm ,在窗口左下角找到 Terminal 命令行输入以下命令:

💡pip install selenium

在 PyCharm 中按如下步骤安装:

图片[82]-AI 编程(爬虫) | 实战手册

出现以下截图中类似的内容,说明安装成功:

图片[83]-AI 编程(爬虫) | 实战手册

图片[1]-AI 编程(爬虫) | 实战手册

3.4 实战一:借助 AI 爬取微信公众号文章 @乔帮主 @邱比特

3.4.1 爬取结果演示

实战一.mp4 【在线播放】

图片[1]-AI 编程(爬虫) | 实战手册

3.4.2 借助 AI 写爬虫代码并运行

第 1 步,整理爬虫需求,写好提示词

我们第一个 AI 爬虫实战案例是去爬取微信公众号文章,那接下来看看,我们如何写出让 AI 写爬虫代码的提示词:

核心在于明确我们的爬虫需求,也就是:在什么地方(网址),爬取什么内容,爬取后存放在哪里。

具体的提示词如下(点【附件页面】进入复制以下提示词内容):

💡写一个爬虫程序,按下面的要求在我的 windows 电脑上帮我抓取微信公众号文章。 1. 使用 python3 和最新版的 selenium 2. 目标网站:https://weixin.sogou.com/ 3. 输入关键字[ AI ],点击[ 搜文章 ]按钮 4. 爬取内容: 爬取标题、摘要、链接、来源 5. 爬取后的内容保存到Excel文件中,Excel文件命名为AI_微信_时间 6. 爬取前5页,每爬完1页休眠5s 请给我完整可运行的程序,让我看到浏览器中操作的过程,并指导我安装程序依赖的所有库。 你可以先执行步骤 2 和步骤 3 了解网页的结构,然后再生成代码。

可以看到以上 9 行提示词,其实就是把我们人工的操作明确表述了一下。以让代码去模拟我们人工正常打开浏览器,并去搜索信息的过程,然后程序自动+批量的帮忙爬取数据存储在本地。

接下来,对 9 行提示词详细拆解下,让大家明白我们这个爬虫提示词是如何从 0 到 1 写出来的:

第 1 行: “写一个爬虫程序,按下面的要求在我的 windows 电脑上帮我抓取微信公众号文章。”

这是告诉 AI,我们的背景需求。然后特别告诉了AI,是在我的 windows 电脑上,这是因为 windows 电脑和 mac 电脑,在一些语法代码上有所不同,为了匹配适应我们电脑的代码。

第 2 行:“1. 使用 python3 和最新版的 selenium ”,中的“使用 python3 ”这一句是具体告诉 AI,我们写代码要用最新 Python3 的语法,因为我们前面安装的 Python 是 3.10 版本。

“和最新版的 selenium”,这是明确爬虫的流程中要通过 Selenium 依赖库来控制浏览器爬取结果。( Selenium 依赖库,我们前面配置爬虫环境时安装过。)

第 3 行:“2. 目标网站:https://weixin.sogou.com/ ”,是我们需要爬取的目标网站。

第 4 行:“ 3. 输入关键字[ AI ],点击[ 搜文章 ]按钮”,这是明确要搜索的内容是“AI”。

第 5 行:“4. 爬取内容: 爬取标题、摘要、链接、来源”表示要爬取哪些内容明细。

第 6 行:“5. 爬取后的内容保存到Excel文件中,Excel文件命名为AI_微信_时间”。表示爬取的内容存储在Excel文件中,并且文件命名为AI_微信_时间。

第 7 行:“6. 爬取前5页,每爬完1页休眠5s” ,表示爬取前5页,每爬完1页休眠5s(主要为了避免爬的太快,网速跟不上)。同时“爬取前5页”,也意味着程序爬完前5页后结束。

第 8 行:“请给我完整可运行的程序,让我看到浏览器中操作的过程,并指导我安装程序依赖的所有库。”,进一步说明代码编写的要求。

第 9 行:“你可以先执行步骤 2 和步骤 3 了解网页的结构,然后再生成代码。”。这是让 ChatGPT 先帮忙分析网页结构,再生成代码,这样确保能生成更能有效抓取该网页数据的代码。

图片[1]-AI 编程(爬虫) | 实战手册

第 2 步,把提示词给 ChatGPT,让其生成代码

在 ChatGPT 主页新建一个聊天会话窗口,运行以上提示词。值得注意的是,不同时间 ChatGPT 回答的内容可能不完全一样,但核心内容都差不多。就如同让 ChatGPT 跟我们写文案,同样的提示词,每次生成的内容都不一样的道理一样。

总结来看,一共有四步:1. 安装环境;2. 安装所需的库;3.编写爬虫代码;4.运行程序。

下面,我们就按照 GPT 的回复进行操作。

第 3 步,按照 GPT 的回答步骤进行操作
① 安装环境(开头)

图片[87]-AI 编程(爬虫) | 实战手册

第一句话,明确总结了代码运行的逻辑。

第二句话,强调了爬虫代码运行的环境,即要提前安装:Python 3、Selenium、Chrome 浏览器及其对应的 ChromeDriver。

由于这部分环境安装和配置的内容很重要,我们前面已经单独拿出来指导大家了,也就是手册【2.3 安装 Python 】和【3.3 配置爬虫环境】的内容。如果前面装好了,这里就不必重复了,如果前面没有做,点击对应内容,安装一下。

② 安装所需的库

图片[88]-AI 编程(爬虫) | 实战手册

接下来,ChatGPT 指导我们安装所需要的库。

在【3.3 配置爬虫环境】我们已经安装过了 Selenium、Chrome 浏览器和对应的 ChromeDriver。

除了我们前面安装的Selenium外,另外这里 ChatGPT 就额外用到了“openpyxl”这个库(大家的ChatGPT生成的代码可能会用到其他库)。Openpyxl库是一种用于在Python中读写和操作Excel文件(.xlsx格式)的强大工具。

这个库的安装命令,我们打开PyCharm底部的Terminal命令行窗口,然后根据 ChatGPT 给出的命令完成安装:

💡pip install openpyxl

PyCharm中的安装截图如下:

图片[89]-AI 编程(爬虫) | 实战手册

出现以下截图中类似的内容,说明安装成功(后面的依赖包的安装,也是同样方法检查是否成功安装,后文就不再解释这一步):

图片[90]-AI 编程(爬虫) | 实战手册

③ 编写爬虫代码

图片[91]-AI 编程(爬虫) | 实战手册

我把ChatGPT生成的完整代码单独复制出来,方便大家查看阅读(点【附件页面】进入复制以下代码内容):

💡import time from selenium import webdriver from selenium.common import TimeoutException from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from openpyxl import Workbook from datetime import datetime # 设置搜索关键字和爬取页数 keyword = “AI” pages_to_scrape = 5 # 设置 WebDriver 路径 chrome_driver_path = r’c:chromedriver.exe’ # 替换为您自己的 chromedriver 路径 # 设置 ChromeDriver 服务 service = Service(chrome_driver_path) # 初始化 WebDriver options = webdriver.ChromeOptions() # options.add_argument(“–headless”) # 以无头模式运行,不打开浏览器窗口 driver = webdriver.Chrome(service=service, options=options) # 打开网页 driver.get(“https://weixin.sogou.com/“) # 输入关键字并点击搜索按钮 search_box = driver.find_element(By.ID, “query”) search_box.send_keys(keyword) search_button = driver.find_element(By.XPATH, ‘//input[@value=”搜文章”]’) search_button.click() # 创建 Excel 文件 wb = Workbook() ws = wb.active ws.append([“标题”, “摘要”, “链接”, “来源”]) # 爬取内容 for page in range(pages_to_scrape): print(f”正在爬取第 {page + 1} 页…”) # 等待页面加载完成 time.sleep(5) # 获取搜索结果列表 search_results = driver.find_elements(By.XPATH, ‘//ul[@class=”news-list”]/li’) # 提取信息并写入 Excel for result in search_results: title = result.find_element(By.XPATH, ‘.//h3/a’).text abstract = result.find_element(By.XPATH, ‘.//p[@class=”txt-info”]’).text link = result.find_element(By.XPATH, ‘.//h3/a’).get_attribute(“href”) source = result.find_element(By.XPATH, ‘.//div[@class=”s-p”]’).text # 去除日期部分 date_index = source.find(“20”) # 找到日期的起始位置 if date_index != -1: source = source[:date_index] # 截取日期之前的内容 ws.append([title, abstract, link, source]) # 滚动到页面底部 driver.execute_script(“window.scrollTo(0, document.body.scrollHeight);”) # 等待下一页按钮出现 try: WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.ID, ‘sogou_next’))) except TimeoutException: print(“已到达最后一页”) break # 点击下一页按钮 next_page_button = driver.find_element(By.ID, ‘sogou_next’) next_page_button.click() # 保存 Excel 文件 current_time = datetime.now().strftime(“%Y%m%d%H%M%S”) file_name = f”{keyword}_微信_{current_time}.xlsx” wb.save(file_name) print(f”爬取完成,结果保存在 {file_name}”) # 关闭浏览器 driver.quit()

④ 运行程序(结尾)

图片[92]-AI 编程(爬虫) | 实战手册

这一部分,ChatGPT告诉我们运行代码的一些配置和注意事项。接下来,我们就详细指导大家操作一下。

•第一步,保存代码文件

将上述代码保存为一个 Python 文件,例如 wechat_spider.py。

其实就是复制代码到 Pycharm 中,并修改代码中的配置。

打开 PyCharm ,New 一个project(如果已经创建好项目,就可以跳过这一步)。

图片[57]-AI 编程(爬虫) | 实战手册

在我们新建的“pythonProject”项目右键鼠标-点击“New”-再点“Python File”,新建一个python的代码文件:wechat_spider.py(按照以下截图,输入文件名wechat_spider按回车键就新建出来了。也可以不用这个文件名,文件名只是为了方便大家找代码文件,对代码运行没影响)

图片[94]-AI 编程(爬虫) | 实战手册

然后,把第 2 步生成的代码复制粘贴进来:

图片[95]-AI 编程(爬虫) | 实战手册

•第二步,确保浏览器驱动的路径正确

确保 chrome_driver_path 指向你下载的 ChromeDriver 的路径。

这一步是为了让代码能调取我们安装的浏览器驱动来操作浏览器,修改代码中的对应路径,把以下路径地址改为我们安装浏览器驱动的真实路径即可:

chrome_driver_path =r ‘替换为您自己的 chromedriver 路径’

改为:

chrome_driver_path = r’c:chromedriver.exe’

图片[96]-AI 编程(爬虫) | 实战手册

💡在代码中我们“”表示转义符号,比如“n”表示换行符,所以我们在配置路径的时候。要注意:

比如我们真实的驱动路径:c:chromedriver.exe

我们正确在代码中的配置应该是(在代码中“”才表示“”的意思):

chrome_driver_path = “c:chromedriver.exe”

chrome_driver_path = ‘c:chromedriver.exe’

以上 ” 和 ‘ 包含的内容都表示字符串,值得注意的是,这里一定要用英文字符,中文符号肯定代码报错。

我们还有一种配置方法:

chrome_driver_path = r”c:chromedriver.exe”

在字符串前面加个字母“r”表示字符串中包含“”不用作转义字符的意思。

•第三步,检查注意事项

注意事项:

确保你的网络连接稳定,因为程序需要从互联网下载图片。

如果Chrome浏览器版本与ChromeDriver版本不匹配,可能需要更新Chrome或使用相应版本的ChromeDriver。

你可能需要禁用无头模式(删除options.add_argument(‘–headless’)),以便在浏览器中看到操作过程。

第一点,很好理解。

第二点,浏览器和浏览器驱动的匹配问题,我们在前面【3.3.2 安装配置爬虫环境】中的安装浏览器中已经强调过,只要按照要求安装,就没有问题。

第三点,如果 ChatGPT 生成的代码中有:options.add_argument(‘–headless’),这个是无头模式。即代码打开浏览器为隐藏模式,不让你看见。

为了方便我们看到代码打开浏览器自动操作的过程,我们需要把这行代码直接删除,或者在代码前面加个# 号,表示注释这行代码(不运行这行代码)。

只需要在代码中找到“以无头模式运行,不打开浏览器窗口”,如果没有就不用管。如果有,修改一下就可以。

图片[97]-AI 编程(爬虫) | 实战手册

•第四步,运行代码,确认抓取结果

在命令行中运行该 Python 文件:

python wechat_spider.py

💡运行代码,我们很容易遇到:

1、第一次让ChatGPT生成代码并配置好驱动路径,很有可能代码运行报错,这时候大家一定要学会用ChatGPT帮忙改Bug,接下来需要大家详细学习:【3.4.3 如何解决 bug】

2、如果代码成功运行,但没有抓到数据结果,这时候需要告知GPT,没有抓到数据,这样它帮忙我们再改代码。

3、如果在GPT一个聊天窗口,GPT反复改Bug都没有拿到正确的代码,有两种办法解决:

(1)、新建一个窗口,把提示词再重新问一遍,再来一遍。

(2)、直接采用【扩展学习:直接使用手册里的爬虫代码尝试运行】

以下代码的运行演示效果,大家结合视频参考【3.4.1 爬取结果演示】。仔细看演示视频和手册中注意事项,大家都能成功跑通案例。

代码运行的图文演示步骤如下:

我们点击右上角绿色播放按钮运行代码(或者右键’Run wechat_spider’),我们PyCharm会自动调用python命令运行代码:

图片[98]-AI 编程(爬虫) | 实战手册

在当前电脑屏幕窗口我们可以看到(都是代码控制的自动操作,如果看不到这一步,说明代码运行报错):

1.自动打开谷歌浏览器

2.自动打开“2. 目标网站:https://weixin.sogou.com/ ”

3.自动输入“AI”关键词,并自动点击“搜文章”

4.出来的内容会自动下一页

图片[99]-AI 编程(爬虫) | 实战手册

5.在 PyCharm 窗口底部,代码运行过程会打印输出类似“正在爬取第几页”爬取的明细:

图片[100]-AI 编程(爬虫) | 实战手册

值得注意的是,这个代码是ChatGPT帮忙写的,有时候它写的代码里面没有这个打印信息。所以这块大家在运行代码过程中,不一定会看到这个输出信息。

如果代码报错,这里会看到一些类似红色字体的报错内容(怎么改Bug,接下来需要大家详细学习:【3.5.3 如何解决 bug】):

图片[101]-AI 编程(爬虫) | 实战手册

6.代码运行完,我们可以看到 Pycharm 窗口左上角多出一个类似“AI_微信_20240607001016.xlsx”文件,双击进去可以看到爬取的内容。(如下图)

图片[102]-AI 编程(爬虫) | 实战手册

如果Excle文件中没有数据,说明代码没有抓取到内容(或者有些列没有抓取到数据),这时候跟ChatGPT描述下,说下没有抓到图片到文件夹中。准备跟ChatGPT描述下问题,ChatGPT就会再帮忙改代码。

图片[1]-AI 编程(爬虫) | 实战手册

3.4.3 如何解决 bug

在“3.3.2 借助 AI 写爬虫代码并运行” 中的“第4步,运行代码,确认抓取结果”,大家常常会遇到代码报错。

代码报错时,会在 PyCharm 底部代码运行结果窗口显示完整的报错信息(类似以下红框中的红色字体内容)

图片[104]-AI 编程(爬虫) | 实战手册

同时,我们在PyCharm底部代码运行结果窗口最后一行:

图片[105]-AI 编程(爬虫) | 实战手册

可以看到“code 1”的标识,这里表示代码运行有一处错误。只有这里“code 0”,才表示代码没有报错。值得注意的是,右上角黄色框中黄色提醒,这种算是提醒,可忽略,对代码运行没影响。

那接下来,我们教大家怎么用 ChatGPT 改 Bug。

第1步,复制报错信息

在 PyCharm 页面,拷贝全部的报错信息(类似以下红框中的蓝色背景中的内容全选复制)。

图片[106]-AI 编程(爬虫) | 实战手册

第2步,把错误信息给到ChatGPT

把上面复制的代码拿去“第2步,把提示词给ChatGPT,让其生成代码”的同个提示词窗口里问ChatGPT

图片[107]-AI 编程(爬虫) | 实战手册

注意:必须是同个提示词窗口,这样ChatGPT才能知道自己的代码在哪里出了问,这时候ChatGPT就会指导我们修改代码,或者做些安装依赖包的操作。

第3步,复制 ChatGPT 改好的代码到 PyCharm 中再次配置代码及运行。

图片[108]-AI 编程(爬虫) | 实战手册

ChatGPT 会给出错误原因,和修改后的完整代码。

我们把改好的完整代码,从 ChatGPT 窗口复制粘贴到 PyCharm 里的 wechat_spider.py 文件中,完整替换以前代码内容。并记得改下代码中的配置,参考 【3.4.2-第 3 步-4运行程序-2)&3)】,再次运行代码。

💡•如果代码还报错,我们重复以上第1步、第2步、第3步的过程,直到代码报错问题解决并成功运行。

•如果代码成功运行,但没有抓到数据结果,这时候需要告知GPT,没有抓到数据,这样它帮忙我们再改代码。

•如果在GPT一个聊天窗口,GPT反复改Bug都没有拿到正确的代码,有两种办法解决:

新建一个窗口,把提示词再重新问一遍,再来一遍。

直接采用【扩展学习:直接使用手册里的爬虫代码尝试运行】

图片[5]-AI 编程(爬虫) | 实战手册

常见问题汇总 @逐梦 @乔帮主

1.关于爬取触发图片验证码的问题

爬取过程触发到图片验证码安全机制:

图片[110]-AI 编程(爬虫) | 实战手册

解决办法:

(1)、用魔法网络换个IP地址,即可解决。

(2)、如果换IP没办法解决,那在爬取内容的代码前面加一个等待函数(5表示等待的秒数):time.sleep(5) 。在代码运行的时候,快速把页面上的验证码输入下。如果这一步不知道怎么改,新建一个聊天会话,同样用提示词把你的代码给到GPT,让它在爬取内容加上这么个等待函数。

图片[111]-AI 编程(爬虫) | 实战手册

2.报错示例:ModuleNotFoundError

报错明细:

ModuleNotFoundError:No module named ‘xxx’

解决方法:安装第三方包

在Pycharm的Terminal 命令行执行命令:pip install xxx

3.pip安装命令出现报错或者速度比较慢

报错明细:

pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPsconnectionPool(host=’files.pythonhosted.org‘, port=443): Read timed out

出现这个报错,就可以使用国内pip源进行安装

可以使用国内pip安装包镜像源,命令如下:

💡pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple

国内其他pip安装包镜像源:

💡清华大学:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple

豆瓣:http://pypi.douban.com/simple

中国科学技术大学:https://pypi.mirrors.ustc.edu.cn/simple

中国科学院:http://pypi.mirrors.opencas.cn/simple

华中科技大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/

上面只是临时使用一次国内源进行安装,如果想永久使用,使用下面的方法:

修改pip的配置文件,使得所有pip命令默认使用指定的源。对于Windows系统,通常在用户目录下创建pip.ini文件,并设置相应的配置;对于Linux/Mac系统,则在~/.pip/pip.conf文件中设置

💡[global]

index-url = https://pypi.tuna.tsinghua.edu.cn/simple

[install]

trusted-host = https://pypi.tuna.tsinghua.edu.cn

4.代码放置错误(将代码放在了__init__.py)

报错截图如下:

图片[112]-AI 编程(爬虫) | 实战手册

解决方法:

将__init__.py中的代码删掉

图片[1]-AI 编程(爬虫) | 实战手册

扩展学习:直接使用手册里的爬虫代码尝试运行

我们“3.4 实战一:借助 AI 爬取微信公众号文章 ” 主要目标是通过提示词,让 ChatGPT 生成代码。提前安装配置好爬虫环境,并成功运行代码,并爬取到结果。

这个爬虫代码是需要大家用提示词,让ChatGPT生成。运行过程也可能报错,然后再让 ChatGPT 改成正确的代码,最后成功运行。如果你一直无法成功,可以尝试直接使用下面这段代码跑一下。

这个代码也是我用 ChatGPT 生成的,只不过没有bug了,更加方便大家运行。而且这个代码在运行过程中会输出下载图片的明细,会更友好些。大家也可以直接尝试运行这个代码(点【附件页面】进入复制以下代码内容):

💡import time from selenium import webdriver from selenium.common import TimeoutException from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from openpyxl import Workbook from datetime import datetime # 设置搜索关键字和爬取页数 keyword = “AI” pages_to_scrape = 5 # 设置 WebDriver 路径 chrome_driver_path = ‘替换为您自己的 chromedriver 路径’ # 替换为您自己的 chromedriver 路径 # 设置 ChromeDriver 服务 service = Service(chrome_driver_path) # 初始化 WebDriver options = webdriver.ChromeOptions() # options.add_argument(“–headless”) # 以无头模式运行,不打开浏览器窗口 driver = webdriver.Chrome(service=service, options=options) # 打开网页 driver.get(“https://weixin.sogou.com/“) # 输入关键字并点击搜索按钮 search_box = driver.find_element(By.ID, “query”) search_box.send_keys(keyword) search_button = driver.find_element(By.XPATH, ‘//input[@value=”搜文章”]’) search_button.click() # 创建 Excel 文件 wb = Workbook() ws = wb.active ws.append([“标题”, “摘要”, “链接”, “来源”]) # 爬取内容 for page in range(pages_to_scrape): print(f”正在爬取第 {page + 1} 页…”) # 等待页面加载完成 time.sleep(5) # 获取搜索结果列表 search_results = driver.find_elements(By.XPATH, ‘//ul[@class=”news-list”]/li’) # 提取信息并写入 Excel for result in search_results: title = result.find_element(By.XPATH, ‘.//h3/a’).text abstract = result.find_element(By.XPATH, ‘.//p[@class=”txt-info”]’).text link = result.find_element(By.XPATH, ‘.//h3/a’).get_attribute(“href”) source = result.find_element(By.XPATH, ‘.//div[@class=”s-p”]’).text # 去除日期部分 date_index = source.find(“20”) # 找到日期的起始位置 if date_index != -1: source = source[:date_index] # 截取日期之前的内容 ws.append([title, abstract, link, source]) # 滚动到页面底部 driver.execute_script(“window.scrollTo(0, document.body.scrollHeight);”) # 等待下一页按钮出现 try: WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.ID, ‘sogou_next’))) except TimeoutException: print(“已到达最后一页”) break # 点击下一页按钮 next_page_button = driver.find_element(By.ID, ‘sogou_next’) next_page_button.click() # 保存 Excel 文件 current_time = datetime.now().strftime(“%Y%m%d%H%M%S”) file_name = f”{keyword}_微信_{current_time}.xlsx” wb.save(file_name) print(f”爬取完成,结果保存在 {file_name}”) # 关闭浏览器 driver.quit()

如果代码报错。我们在 ChatGPT 中新建会话窗口,可以用以下提示词来指导我们改代码(点【附件页面】进入复制以下提示词内容):

💡这是我写的代码: [贴上代码明细] 然后代码报错: [贴上报错明细] 请根据以上信息,帮忙修改代码,并给出我最新修改后的完整代码。

要 ChatGPT 知道我们代码明细,知道代码报错明细,它就能指导我们改成正确的。

图片[1]-AI 编程(爬虫) | 实战手册

3.4.4 能够根据需求调整提示词

在“第 1 步,整理爬虫需求,写好提示词”中我们已经对以下提示词做了详解,也让大家对我们爬虫提示词是如何从 0 到 1 写出的有了个了解。

原提示词(点【附件页面】进入复制以下提示词内容):

💡写一个爬虫程序,按下面的要求在我的 windows 电脑上帮我抓取微信公众号文章。 1. 使用 python3 和最新版的 selenium 2. 目标网站:https://weixin.sogou.com/ 3. 输入关键字[ AI ],点击[ 搜文章 ]按钮 4. 爬取内容: 爬取标题、摘要、链接、来源 5. 爬取后的内容保存到Excel文件中,Excel文件命名为AI_微信_时间 6. 爬取前5页,每爬完1页休眠5s 请给我完整可运行的程序,让我看到浏览器中操作的过程,并指导我安装程序依赖的所有库。 你可以先执行步骤 2 和步骤 3 了解网页的结构,然后再生成代码。

那我们想爬取其他网站,想爬取其他内容,提示词可以改下就能用吗?那当然是可以的,比如,我们去爬取新浪网站的图片。

根据需求调整的新提示词(点【附件页面】进入复制以下提示词内容):

💡写一个爬虫程序,按下面的要求在我的 windows 电脑上帮我抓取微博热搜榜。 1. 使用 python3 和最新版的 selenium 2. 目标网站:https://tophub.today/n/KqndgxeLl9 3. 爬取内容: 标题、链接、点赞量,其中“标题”是页面中表格第二列中的文字内容、“链接”是页面中表格第二列中的链接内容、“点赞量”是页面中表格的第三列内容 4. 爬取后的内容保存到Excel文件中,Excel文件命名为AI_微信_时间 请给我完整可运行的程序,让我看到浏览器中操作的过程,并指导我安装程序依赖的所有库。 你可以先执行步骤 2 了解网页的结构,然后再生成代码。

第 1 行: “写一个爬虫程序,按下面的要求在我的 windows 电脑上帮我抓取新浪新闻图片。”

“微博热搜榜”,为我们根据新需求改的。

第 2 行:“1. 使用 python3 和最新版的 selenium ”,这个不能改,是我们爬虫环境和爬虫流程的核心提示词,保持一致。

第3行:“2. 目标网站:https://tophub.today/n/KqndgxeLl9”,为我们需要爬取的目标网站,这里我们改成微博热搜榜。

但值得注意的:

•在前面也提过,由于爬虫场景复杂性,当前提示词只支持一些不需要登录(用户密码或者扫码)的网站。比如微博、小红书,用以上提示词就不行。微博、小红书、抖音等都有很严格的反爬机制,这块一般都是建议大家直接用第三付费工具,这里有个工具包送给大家:《运营必备工具大集合 | 黑科技神器》。

第 4 行:“3. 爬取内容: 标题、链接、点赞量,其中‘标题’是页面中表格第二列中的文字内容、‘链接’是页面中表格第二列中的链接内容、‘点赞量’是页面中表格的第三列内容” ,相比原提示词,这里面我添加了“其中‘标题’是页面中表格第二列中的文字内容、‘链接’是页面中表格第二列中的链接内容、‘点赞量’是页面中表格的第三列内容”。

经过测试,没有这一段,最终抓取的内容,只有“标题”、“链接”这两个内容,而“点赞量”这一列GPT也识别不了是哪个内容。所以我用了更加精准的描述,让GPT知道这抓取三列对应我们抓取页面中哪些内容。

备注:

•原提示词中“ 3. 输入关键字[ AI ],点击[ 搜文章 ]按钮 ”,这一步根据实际页面情况来写,比如打开微博热搜榜里面就没这一步,可直接删除这一行提示词。

第 5 行:“4. 爬取后的内容保存到Excel文件中,Excel文件命名为AI_微信_时间” 这里保持不变。

第 6 行:“请给我完整可运行的程序,让我看到浏览器中操作的过程,并指导我安装程序依赖的所有库。” 这句也保持不变。

备注:

•原提示词中“6. 爬取前5页,每爬完1页休眠5s”,是因为原提示词网页中要分页抓取,而我新需求页面中,没有分页抓取,只需要抓取当前页面即可,所以新提示词中把这一行删了。

第 7 行: “你可以先执行步骤 2 了解网页的结构,然后再生成代码。” 新需求中,只需要打开微博热搜榜主页即可。所以相比原提示词,我们只需要让 ChatGPT 分析“步骤 2” 微博热搜榜主页的网页结构。

然后新提示词给到 ChatGPT,进过运行及让 ChatGPT 改过代码后,正确的代码示例如下。大家可以直接复制以下代码到 PyCharm 中运行,记得改代码中的浏览器驱动的路径地址(点【附件页面】进入复制以下代码内容):

💡import time import datetime import openpyxl from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By # 设置ChromeDriver路径 chrome_driver_path = r’你的chromedriver.exe路径’ # 替换为你的chromedriver.exe实际路径 # 初始化WebDriver服务 service = Service(chrome_driver_path) # 初始化WebDriver options = webdriver.ChromeOptions() # options.add_argument(‘–headless’) # 无头模式,如果想看到浏览器操作过程可以注释掉这一行 driver = webdriver.Chrome(service=service, options=options) # 目标网址 url = “https://tophub.today/n/KqndgxeLl9” driver.get(url) # 等待页面加载 time.sleep(3) # 查找数据表 table = driver.find_element(By.TAG_NAME, ‘tbody’) rows = table.find_elements(By.TAG_NAME, ‘tr’) # 存储数据 data = [] for row in rows: cells = row.find_elements(By.TAG_NAME, ‘td’) if cells and len(cells) >= 3: title = cells[1].text try: link_element = cells[1].find_element(By.TAG_NAME, ‘a’) link = link_element.get_attribute(‘href’) except Exception as e: link = ‘N/A’ print(f”Error finding link: {e}”) likes = cells[2].text data.append([title, link, likes]) # 关闭浏览器 driver.quit() # 获取当前时间 current_time = datetime.datetime.now().strftime(‘%Y-%m-%d_%H-%M-%S’) file_name = f”AI_微信_{current_time}.xlsx” # 创建Excel文件 wb = openpyxl.Workbook() ws = wb.active ws.append([“标题”, “链接”, “点赞量”]) for item in data: ws.append(item) wb.save(file_name) print(f”数据已保存到 {file_name}”)

以上代码运行流程结果截图:

图片[115]-AI 编程(爬虫) | 实战手册

图片[1]-AI 编程(爬虫) | 实战手册

3.5 实战二:借助 AI 爬取百度图片 @乔帮主

© 版权声明
THE END
喜欢就支持一下吧
点赞110赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称常用语表情代码图片

    暂无评论内容