分享好友 最新动态首页 最新动态分类 切换频道
如何使用Python WebDriver爬取ChatGPT内容(完整教程)
2024-12-25 17:30

虽然我们能用网页版chatGPT来聊天、写文章,但是我们采集大量的内容,就得不断地手动输入提问来获取答案,并且将结果复制到数据库来保存。如果整个过程能使用程序来做自然要节省很多的人力,精力和时间。

Python webdirver 模拟浏览器的方式来实现,刚好能实现以上功能。

另外之所以不选择API 是因为以下原因

  • 普通开发者(国内)获取API KEY 是有困难的,需要海外手机号 + 信用卡等一系列条件,但是如果只是网页端,我们仅仅需要登录或者未登录的方式就可以直接聊天

  • 网页端无需调整各项参数,可以直接交互获取内容,而且内容质量更高

当然,如果你有条件用API 或者直接通过 wss交互获取内容的,到这儿可以直接结束了。

完整源码在文章末尾哦

准备自己的梯子

ChatGpt属于海外项目,国内的小伙伴,翻墙得找好自己的梯子(代理,这里自己有啥用啥即可。

安装Python 环境

Python要求:3.10 +

安装 Python Selenium

 

其他扩展库说明:取决于自己电脑缺什么就安装什么。后面完整代码会提供完整的 requirements.txt

浏览器

这里以Chrome浏览器为准。也就是你本地必须要安装Chrome浏览器,并且获取其安装路径。

比如:C:Program FilesGoogleChromeApplicationchrome.exe

操作系统

这里以 windows 作为开发环境。

开发工具

自己什么顺手用什么。

这里讲个程序界的笑话:传说级别的开发者据说用的记事本来开发。

这里只介绍主要的代码

浏览器控制

使用程序实现浏览器的控制,这包括浏览器的打开,关闭,以及代理配置。

创建 browser_manage.py

 

初始化selenium

创建爬虫脚本 spider.py

 

进入到目标页面

文件:spider.py

 

页面等待除了以上的方案也可以用其他方法

 

发起询问

发起新的提问

每次提问都应该是基于一个新窗口来提问。如果你的问题需要上下文的基础来回答,可以直接跳过这里。

新询问输入框可以根据 button data-testid="create-new-chat-button" 来定位。

 

定位到输入框

输入框使用的是div contentediable作为文本域。其id为 prompt-textarea

 

创建询问队列

因为我们的目标是自动化对问题列表发起询问,而不是一次性询问。所以需要创建一个问题队列。问题队列可以来源于数据库或者队列文件。这里为了演示,直接创建一个list

 

输入问题

这里我们按行来输入:一次输入一行。

 

等待数据响应

可以根据回答结束后,出现的交互按钮来确认是否回答完毕

 

也可以使用以下方法来校验

 

获取响应数据

通过 class="markdown" 来获取数据。

 

数据清洗

具体的清洗规则,看具体的业务需求。大多数清洗,需要将一些总结类的语句删除,不合法的返回内容删除。这里不提供相应的清洗的方案。

至此,一个完整的数据链就已经完结。

完整源码

browser.py

 

spider.py

 

requirements.txt

 

获取扩展源码

扩展源码是基于 chatgpt聊天页面,通过多个浏览器并行数据爬取,包含以下功能

  1. 基于数据库创建问题队列

  2. 创建多个浏览器窗口多线程并行运行,提高产量和效率

  3. 解决人工校验-自动化进行人工校验

  4. 为多个浏览器配置不同的代理方案

  5. 代理配置,为浏览器自动化分配代理

  6. 通过web端进行浏览器管理,代理管理,代理分配等

需要以上扩展源码,QQ:1186969412

最新文章
ChatGPT、华为系列、短剧游戏等,A股十大爆炒概念股都有谁?
资金永不眠。资本市场风云莫测,概念股也在不断轮动。流动的热钱,总在孜孜不倦又敏锐地挖掘着可以热炒的概念:ChatGPT、CPO、AI+、减肥药、短剧、华为系列、龙字辈、数字股、数据确权、年末消费……当你看到这些熟悉的名字时,勾起的,是
2014年度游侠单机游戏风云榜完美落幕 Top20排名揭晓
2014年度最佳游戏TOP6:《恶灵附身》中文名称:恶灵附身英文名称:The Evil Within制作公司:Bethesda发行公司:Bethesda游戏平台:PCPS3XBOX360PS4游戏语言:中文发售日期:2014-10-14游侠评语: 生化危机之父三上真司再次出手,制作了这
2023第一次IVD医疗器械产品分类界定结果汇总
国家药监局标管中心发布《2023年第一次医疗器械产品分类界定结果汇总》,本次汇总的2022年10月-2023年1月医疗器械产品分类界定结果共230个。其中IVD相关领域的有63个,其中建议按照Ⅲ类医疗器械管理的产品14个,建议按照Ⅱ类医疗器械管理的
3A游戏算什么?我们做的是4A游戏!
  但他们知道要做出这个游戏必定需要一个非常优秀的引擎,于是头铁的毛子开始长达8年的游戏引擎开发,只能说他们确实有能力,世界上第一个支持DX9的引擎——X-Ray引擎诞生在这个小小的工作室中,而且从2003年以来,X-Ray引擎一直处于业界
4个惊艳的AI项目,开源了!
大家好,今天继续聊聊科技圈发生的那些事。三维参数导引下可控一致的人体图像动画生成项目。只需要一张照片,就能让照片里的人物动起来。给出一个动作视频,Champ 可以让不同的人像复刻出相同的动作。我们先来看看真实人物照片的效果:而在
AI搜索,正在杀死传统搜索
曾几何时,AI搜索一度被视为科技圈里的蓝海赛道,很多大厂和新贵都对此寄予厚望。如今,这个赛道早已成了拥挤的红海,而且是红到发黑的那种。国外知名的有Perplexity、必应、You.com、Andi Search,国内入局的也有天宫AI、秘塔AI、360AI搜
c语言(7.12)之AI助我学习2
#include stdio.h int main() {     printf("请输入小诗诗的排号:");     int rowa;     scanf_s("%d", rowa);          printf("请输入小诗诗的坐号:");     int numa;     s
12月15日起,这项检测不达标车辆将实施强制维修
  为贯彻落实《中华人民共和国大气污染防治法》《打赢蓝天保卫战三年行动计划》《柴油货车污染治理攻坚战行动计划》《关于建立实施汽车排放检验与维护制度的通知》(环大气〔2020〕31号)等文件要求,台州市生态环境局、台州市交通运输局
Core Java(二)
用于解释说明程序的文字 Java中注释分类格式单行注释:格式: //注释文字多行注释:格式:文档注释:格式:对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。对于文档注释,是java特有的注释,其中注释内容可以被JDK
2021新版微信余额生成器,微信截图生成器:碰瓷一时爽,判赔火葬场!。
似乎有些人已经开始为这份“暴利”的兼职心动了。但是先别急,因为你看到的截图很可能是p出来的。随着微信的愈发普及,各种“衍生”工具也层出不穷。近年来,市面上就出现了一种微信聊天记录生成app,这种app不但可以模仿微信的界面,生成
相关文章
推荐文章
发表评论
0评