妄想山海跑图Python脚本
时间: 2023-11-05 17:49:42 浏览: 169
python脚本
很好,我可以帮你编写一个简单的Python脚本来实现山海经跑图。
首先你需要导入两个Python库:PIL和pytesseract。PIL库用于图像处理,pytesseract库用于OCR识别文字。
接下来,你需要从图片中提取出文字。你可以使用PIL库中的Image模块打开图片,然后使用pytesseract库中的image_to_string函数将图片中的文字转换为字符串。
然后,你需要将山海经中的地名和路线提取出来。你可以使用Python的正则表达式来匹配这些字符串,并将它们保存到一个列表中。
最后,你可以使用Python的Web自动化库(如selenium)来模拟人工操作,让程序自动跑图。
以下是一个简单的Python脚本,用于提取山海经中的地名和路线,并自动跑图:
```python
from PIL import Image
import pytesseract
import re
from selenium import webdriver
import time
# 打开图片
img = Image.open('shanhaijing.jpg')
# OCR识别图片中的文字
text = pytesseract.image_to_string(img, lang='chi_sim')
# 提取地名和路线
place_pattern = re.compile(r'【(.*?)】') # 地名正则表达式
route_pattern = re.compile(r'→(.*?)\n') # 路线正则表达式
places = place_pattern.findall(text)
routes = route_pattern.findall(text)
# 打印地名和路线
for i in range(len(places)):
print(f'{i + 1}、{places[i]}:{routes[i]}')
# 自动跑图
driver = webdriver.Chrome()
driver.get('https://shanhaimap.mihoyo.com/')
# 点击开始游戏按钮
start_game_btn = driver.find_element_by_class_name('start-game')
start_game_btn.click()
# 等待动画播放完成
time.sleep(5)
# 点击跑图按钮
run_btn = driver.find_element_by_class_name('run-btn')
run_btn.click()
# 依次点击地名和路线
for i in range(len(places)):
time.sleep(1)
place_btn = driver.find_element_by_xpath(f"//*[text()='{places[i]}']")
place_btn.click()
time.sleep(1)
route_btn = driver.find_element_by_xpath(f"//*[text()='{routes[i]}']")
route_btn.click()
```
请注意,这只是一个简单的脚本,可能需要根据你的具体情况进行修改。
阅读全文