USER
下面这个是个什么程序啊?要实现什么功能,及怎么实现的,把他们都写在用一个程序里面
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import json
import time
# ChromeDriver 路径
chrome_driver_path = 'C:\\Users\\czh\\Desktop\\chromedriver-win64\\chromedriver.exe' # 替换为你的 chromedriver 路径
# 启动浏览器
service = Service(chrome_driver_path)
options = webdriver.ChromeOptions()
options.headless = False # 显示浏览器
driver = webdriver.Chrome(service=service, options=options)
# 打开目标网站
driver.get('https://www.humanizeai.pro')
# 等待手动完成 CAPTCHA
print('Please complete the CAPTCHA manually.')
time.sleep(30) # 等待 60 秒
# 获取经过验证的 token 和 sessionId
token = driver.execute_script("return localStorage.getItem('token');")
session_id = driver.execute_script("return localStorage.getItem('sessionId');")
print('Token:', token)
print('Session ID:', session_id)
# 设置请求数据
request_data = {
"token": {
"token": "03AFcWeA5tPUM0tvczl2JzVVefj0uD3Blx9brm3FNzG_kCDOMUBxsQyumQFdnEo0ZjzMJIbecTCAd9WOn8qG2bnhiCyaRdfixWvX-ZjEC_Hnqs2u12vgAR1Y671Rom3qo_t4ahEkCjnpRjrYXuaHSnqtATWeXmIMaxOdp3vjcK39rWD-1txYB4rdIRgZACnOq1LgETZEBAT6XSo3irpi6eVkw34u8148DBP1wvNQaZ5XcmsGHaFlJfSDVaT_Na_o1YE8r16x8osgMhNKe46OsVdwcatAh7WlendVkp0NZjVGK2lU2iFWLtFMU2mf4tUdv5JeIL5hYOY_nw-kcKTgHZIJTkxFCWmaHA1B1Afk6mB24spcpjJ07lxEmZ_Qz0hTYwXtrk3Z9smJNS3mGUXe-4n-KQFf1m9P-sBmZ3s4oBflQmXCQBE6jXUSYFdPzSxd98y7uYCmwhuSa5aNApPqo5wF-JI9pPfusE0tqItej-TahBrQ-DHm_o7XBu5va_r4cC4A3wssTaVxqC_Qkq0-VONJUDoQTk0EjIkv-qi6_Up-MVemZwF0sDcr7LaQIo4WtosNBx-OlkNVgYsWT92XeHv_oRFjuHE_icShLvW9Zx82dvbyKSNBd-2rhn_96Sj-u5ko0syMkYGFG3wWpG4VZ-67uVxAgc5nQhYCzrAfDu0n8blovF0JARjbVfQrD3FIahog2oHvzzdUl-4zvMzyYbSHh8JmA_dLD2Vv2iALyn5crdWdIO_Jp1XcCoGKV70S6bko5sdS8SipBeW0WZjQGp0q6py5FQOxff-YOq6PHtcxOaKjms_zuk-KUA2a02JPXWAZu-e2Brxb01c9GVa3lqE-j6GMtEE4-C508K91B84QyUebcF0nGv3EBuh3EGPjccW4V5l4Yn7yN_hG-nc6zbInbC1zm4QWKLcfGqG860qOJOhJ8G5UMLhNvd3eGC51Nd9RWk88r0TyYpRnnQAYRyXYHRyC0J5GP-iYIxAnd7g0m15UNmt1ZQw_EfuEbGY0WJV4jmdmKGQs9hnhWpQ0sNjd8hQ1qmvm9_CoEV8FbdUm1Mf9JNBSTklJ5zmg0ZiYQUFjeORP9wiG__R60J9o8z2Cgcn-DoNLmLuNPlbixRnBjDUcK5TzafCfmgp0z_VptN8oRvbVPYQd3pWRx2KOB8iZHY-8OK27PbnLsIMtb6Oco8s66E91mzRl1IISbI_0woiTjnt35F_fGv60dgO83xsNQEzyFqNKHCDIf_0BcrkfiknzvouZYYyN5KZtiMeeEo-ltiAKRUTGi0WVWxTRjIYFgSXV4VdMGBgzCPER0Wnue3JEpH7NuQqkYzdYkJr5KXGM3Ccpa3FqA0B9PrekA4F48LKgGMzLlxE80VhsaMB16j3BEwX0VvJfe96p7p14ywVmNlnksXzMj1yN9oNL0zi0MFYchhjBxo0c4K8OSomjmNmLq8vINoGgyEubWCJLBNXJM5EdLi6ZkSb9JVpKrQl1vY-P9c0CI0Q5mv7VT7LZ9LSR8BGwm2ZNHm9TUg35IVTk5hNqQ73dzgmJAKIVl3rFQweyAmhSFLG9x5I5qfbDzGa7JqGwndsZHG1MoincPHVrmfltoeDc2sdibCh161ke7Q97f4wQe_oDNfgYkcjPDJ-yT8zVRCIY7FrLGyqyObTJBuELi22vOWAfxid7RYhk68Zt5X68yaBFG2hsmJA6MjfL3TmAKAKPhTYeQFGOSg9NbO3DMQ1IrrIkbuuXE-BkwvHazpHSodDgIFXEXGV6yunF4VbT4QExhyub8t505cN1G7VKIS21tYt27x8pTNGb-ET63XbHbCywpG_ysgtXhiS1CDgOE56LY-6CmCw7T4HCGbFIFP1J_JXOabpoZDDa8LHX0OaiVeqFvN7e6hNQDw1oAAZewf_mtPF2g7wYKGRJ2YVbYitiJgD1im8Jy7iuMwPFNKx8kuNPHo38k3LJZzSH7YACC1aFbhe8LyV4YVac2uSn5vt3-Xn5RgnQ1uGIcpzO8V_lQ",
"type": "auto"
},
"sessionId":
session_id,
"text":
"Market research platforms offer key tools for keyword insights. They help us understand what customers are looking for. With these tools, businesses can see trends and customer needs. Popular platforms include SEMrush, Ahrefs, and Moz. Each platform provides unique features for keyword discovery. They track search volumes, competition levels, and user intent. This helps firms to plan better SEO and marketing strategies. By using these tools, businesses stay ahead in their industry. They can adapt quickly to changes in market demand. Choosing the right platform is crucial to gain a competitive edge."
}
# 发送 API 请求
import requests
headers = {
'accept':
'/',
'accept-language':
'zh-CN,zh;q=0.9',
'cache-control':
'no-cache',
'content-type':
'application/json',
'pragma':
'no-cache',
'referer':
'https://www.humanizeai.pro/',
'sec-ch-ua':
'"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
'sec-ch-ua-mobile':
'?0',
'sec-ch-ua-platform':
'"Windows"',
'sec-fetch-dest':
'empty',
'sec-fetch-mode':
'cors',
'sec-fetch-site':
'same-origin',
'user-agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36'
}
response = requests.post('https://www.humanizeai.pro/api/process',
headers=headers,
data=json.dumps(request_data))
print('API Response:', response.json())
# 关闭浏览器
driver.quit()
# check_status.py
import requests
import time
import logging
# 配置日志记录
logging.basicConfig(level=logging.DEBUG,
filename='api_requests.log',
filemode='w',
format='%(asctime)s - %(levelname)s - %(message)s')
def check_status(task_id, session_id):
url = 'https://www.humanizeai.pro/api/process'
params = {'id': task_id, 's_id': session_id}
# 初次检查任务是否提交
response = requests.get(url, params=params)
logging.debug(
f"Initial request response: {response.status_code} - {response.json()}"
)
# 如果任务提交失败,退出并记录日志
if response.status_code != 200:
logging.error(
f"Failed to submit task: {response.status_code} - {response.text}")
exit()
# 检查任务状态
max_retries = 50 # 增加最大重试次数
retry_count = 0
wait_time = 20 # 增加等待时间到20秒
while retry_count < max_retries:
response = requests.get(url, params=params)
logging.debug(
f"Attempt {retry_count + 1} - ID: {task_id}, Session ID: {session_id} - Response: {response.status_code} - {response.json()}"
)
if response.status_code == 200:
data = response.json()
if data.get('code') == 'processing':
logging.info(f"Processing... Attempt {retry_count + 1}")
time.sleep(wait_time)
retry_count += 1
else:
logging.info(f"Final response: {response.json()}")
break
else:
logging.error(
f"Error during request: {response.status_code} - {response.text}"
)
break
else:
logging.warning(f"Max retries reached. Exiting.")
if __name__ == "__main__":
task_id = input("Enter Task ID: ")
session_id = input("Enter Session ID: ")
check_status(task_id, session_id)
# main.py
import subprocess
# 运行 get_ids.py 并获取 task_id 和 session_id
result = subprocess.run(['python', 'get_ids.py'], capture_output=True, text=True)
output = result.stdout.strip().split('\n')
# 调试打印输出
print("Output from get_ids.py:")
print(output)
# 确认输出格式
if len(output) >= 2 and ": " in output[0] and ": " in output[1]:
task_id = output[0].split(": ")[1]
session_id = output[1].split(": ")[1]
else:
raise ValueError("Unexpected output format")
# 运行 check_status.py 并传递 task_id 和 session_id
subprocess.run(['python', 'check_status.py'], input=f"{task_id}\n{session_id}\n", text=True)
import requests
import json
# API endpoint and headers
url = 'https://www.humanizeai.pro/api/process'
headers = {
'accept':
'*/*',
'accept-language':
'zh-CN,zh;q=0.9',
'cache-control':
'no-cache',
'content-type':
'application/json',
'origin':
'https://www.humanizeai.pro',
'pragma':
'no-cache',
'priority':
'u=1, i',
'referer':
'https://www.humanizeai.pro/',
'sec-ch-ua':
'"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
'sec-ch-ua-mobile':
'?0',
'sec-ch-ua-platform':
'"Windows"',
'sec-fetch-dest':
'empty',
'sec-fetch-mode':
'cors',
'sec-fetch-site':
'same-origin',
'user-agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36'
}
# Payload data
payload = {
"token": {
"token":
"03AFcWeA5tPUM0tvczl2JzVVefj0uD3Blx9brm3FNzG_kCDOMUBxsQyumQFdnEo0ZjzMJIbecTCAd9WOn8qG2bnhiCyaRdfixWvX-ZjEC_Hnqs2u12vgAR1Y671Rom3qo_t4ahEkCjnpRjrYXuaHSnqtATWeXmIMaxOdp3vjcK39rWD-1txYB4rdIRgZACnOq1LgETZEBAT6XSo3irpi6eVkw34u8148DBP1wvNQaZ5XcmsGHaFlJfSDVaT_Na_o1YE8r16x8osgMhNKe46OsVdwcatAh7WlendVkp0NZjVGK2lU2iFWLtFMU2mf4tUdv5JeIL5hYOY_nw-kcKTgHZIJTkxFCWmaHA1B1Afk6mB24spcpjJ07lxEmZ_Qz0hTYwXtrk3Z9smJNS3mGUXe-4n-KQFf1m9P-sBmZ3s4oBflQmXCQBE6jXUSYFdPzSxd98y7uYCmwhuSa5aNApPqo5wF-JI9pPfusE0tqItej-TahBrQ-DHm_o7XBu5va_r4cC4A3wssTaVxqC_Qkq0-VONJUDoQTk0EjIkv-qi6_Up-MVemZwF0sDcr7LaQIo4WtosNBx-OlkNVgYsWT92XeHv_oRFjuHE_icShLvW9Zx82dvbyKSNBd-2rhn_96Sj-u5ko0syMkYGFG3wWpG4VZ-67uVxAgc5nQhYCzrAfDu0n8blovF0JARjbVfQrD3FIahog2oHvzzdUl-4zvMzyYbSHh8JmA_dLD2Vv2iALyn5crdWdIO_Jp1XcCoGKV70S6bko5sdS8SipBeW0WZjQGp0q6py5FQOxff-YOq6PHtcxOaKjms_zuk-KUA2a02JPXWAZu-e2Brxb01c9GVa3lqE-j6GMtEE4-C508K91B84QyUebcF0nGv3EBuh3EGPjccW4V5l4Yn7yN_hG-nc6zbInbC1zm4QWKLcfGqG860qOJOhJ8G5UMLhNvd3eGC51Nd9RWk88r0TyYpRnnQAYRyXYHRyC0J5GP-iYIxAnd7g0m15UNmt1ZQw_EfuEbGY0WJV4jmdmKGQs9hnhWpQ0sNjd8hQ1qmvm9_CoEV8FbdUm1Mf9JNBSTklJ5zmg0ZiYQUFjeORP9wiG__R60J9o8z2Cgcn-DoNLmLuNPlbixRnBjDUcK5TzafCfmgp0z_VptN8oRvbVPYQd3pWRx2KOB8iZHY-8OK27PbnLsIMtb6Oco8s66E91mzRl1IISbI_0woiTjnt35F_fGv60dgO83xsNQEzyFqNKHCDIf_0BcrkfiknzvouZYYyN5KZtiMeeEo-ltiAKRUTGi0WVWxTRjIYFgSXV4VdMGBgzCPER0Wnue3JEpH7NuQqkYzdYkJr5KXGM3Ccpa3FqA0B9PrekA4F48LKgGMzLlxE80VhsaMB16j3BEwX0VvJfe96p7p14ywVmNlnksXzMj1yN9oNL0zi0MFYchhjBxo0c4K8OSomjmNmLq8vINoGgyEubWCJLBNXJM5EdLi6ZkSb9JVpKrQl1vY-P9c0CI0Q5mv7VT7LZ9LSR8BGwm2ZNHm9TUg35IVTk5hNqQ73dzgmJAKIVl3rFQweyAmhSFLG9x5I5qfbDzGa7JqGwndsZHG1MoincPHVrmfltoeDc2sdibCh161ke7Q97f4wQe_oDNfgYkcjPDJ-yT8zVRCIY7FrLGyqyObTJBuELi22vOWAfxid7RYhk68Zt5X68yaBFG2hsmJA6MjfL3TmAKAKPhTYeQFGOSg9NbO3DMQ1IrrIkbuuXE-BkwvHazpHSodDgIFXEXGV6yunF4VbT4QExhyub8t505cN1G7VKIS21tYt27x8pTNGb-ET63XbHbCywpG_ysgtXhiS1CDgOE56LY-6CmCw7T4HCGbFIFP1J_JXOabpoZDDa8LHX0OaiVeqFvN7e6hNQDw1oAAZewf_mtPF2g7wYKGRJ2YVbYitiJgD1im8Jy7iuMwPFNKx8kuNPHo38k3LJZzSH7YACC1aFbhe8LyV4YVac2uSn5vt3-Xn5RgnQ1uGIcpzO8V_lQ",
"type": "auto"
},
"sessionId":
"934da6ac-f330-4651-9e32-74577bdf4bf3",
"text":
"Transform your AI-generated content into natural, human-like text with the ultimate Humanize AI text tool. This ai-to-human text converter effortlessly converts output from ChatGPT, Bard, Jasper, Grammarly, GPT4, and other AI text generators into text indistinguishable from human writing. Achieve 100% originality and enhance your content creation with the best Humanize AI solution available.\n\n"
}
# Make POST request
response = requests.post(url, headers=headers, json=payload)
# Print response
print(response.json())