使用Selenium实现GPT网页端交互

前言

笔者最近在做一个gpt有关的项目,数据量百万条不想花钱买token,发现Selenium可以模拟网页端操作,因此小试一下。

首先想用openai的gpt上手,但其反爬机制太过严格了,头修改、设置cookies和指纹修改都不行,一直在人机验证的地方徘徊。遂失去耐心,干脆直接换了个网址,用POE做(感谢不严格的反爬虫机制)。

用的浏览器是chrome,有chrome driver可以用。至于Selenium、chrome driver是啥就不介绍了,不浪费彼此的时间。

使用步骤

1.安装库

pip install selenium

2.安装chrome driver,远程控制浏览器

chrome地址:“C:\Program Files\Google\Chrome\Application\chrome.exe”(这里是我的地址)
在系统设置环境变量,注意是目录(C:\Program Files\Google\Chrome\Application),不含文件名!!!

在浏览器设置中查看chrome的版本号,在https://chromedriver.chromium.org/下载对应的chromedriver版本(windows,linux,mac按需选择),将文件解压到python目录下。

打开cmd,运行

chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\path\to\new\profile"

即可开启chrome远程调试。

3.后端代码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# 指定Chrome的远程调试地址
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
# 指定ChromeDriver的路径
chrome_driver_path = "D:\\software\\anaconda\\chromedriver-win64\\chromedriver.exe"
service = Service(executable_path=chrome_driver_path)
# 创建WebDriver对象
driver = webdriver.Chrome(service=service, options=chrome_options)
# 现在可以控制已打开的浏览器了
# 访问网页
driver.get("https://poe.com/")

注意,到这一步poe可能会弹出验证。这时需要你自己在网页端输入个人信息进行核验。验证成功后,运行

# 模拟在网页上输入
search_box = driver.find_element('class name', 'GrowingTextArea_textArea__ZWQbP')
search_box.clear()  # 清除搜索框中的默认文本
search_box.send_keys('你好')
# 提交搜索(回车)
search_box.send_keys(Keys.RETURN)

即可实现内容的交互。
在这里插入图片描述


总结

没啥好总结的。没法用POE的可以试试国内的网站。不过这里的类名需要修改:

search_box = driver.find_element('class name', 'GrowingTextArea_textArea__ZWQbP')

打开chrome开发者工具查一下就行,一般会有输入词比如”与Assistant交谈“,直接ctrlF查找下类名就ok了。

至于有信息了怎么爬下来应该不难。需要的话我可以之后再更新相关文章。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值