前言
笔者最近在做一个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了。文章来源:https://www.toymoban.com/news/detail-857672.html
至于有信息了怎么爬下来应该不难。需要的话我可以之后再更新相关文章。文章来源地址https://www.toymoban.com/news/detail-857672.html
到了这里,关于使用Selenium实现GPT网页端交互的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!