Skip to content

Instantly share code, notes, and snippets.

@StarkGang
Created April 4, 2024 02:47
Show Gist options
  • Save StarkGang/369507211123699f14ad04136033290d to your computer and use it in GitHub Desktop.
Save StarkGang/369507211123699f14ad04136033290d to your computer and use it in GitHub Desktop.
Returns same image without any translation as for now, needs lot's of tweaks..
import json
import requests
from PIL import Image
import base64
import urllib.parse
import re
def image_base64_data(image_path):
with open(image_path, 'rb') as img_file:
image_data = img_file.read()
base64_str = base64.b64encode(image_data).decode('utf-8')
return base64_str
headers = {
'accept': '*/*',
'accept-language': 'en-US,en;q=0.7',
'content-type': 'application/x-www-form-urlencoded;charset=UTF-8',
'origin': 'https://translate.google.com',
'referer': 'https://translate.google.com/',
'sec-ch-ua': '"Brave";v="123", "Not:A-Brand";v="8", "Chromium";v="123"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-model': '""',
'sec-ch-ua-platform': '"Windows"',
'sec-ch-ua-platform-version': '"15.0.0"',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'sec-gpc': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36',
'x-goog-batchexecute-bgr': '[";HwG4AVnQAAZE0AbyZNBfANvsMOtouoYmADQBEArZ1BUjYErP1NoLWForjLwMhH1MosvD6chceFyKzwjA4M-m4xngM0RlnigbSVXrm49jHwAAANZPAAABb3UBB2MAObdA2AviosUNYLEJBceHVK0ViFsPVaS5nPeQ2AMXsP76LTjQjJUDVvRdufhh18MJPkLaceGhpeMCS4QCuIcezCHMpXSrpT2MUxi-Ys2j19eo0gOVdIKxLHOAXxExclX5v9u1saDOAr5l_dOd5X2VRskokjOUT0aY-uOQTVxQiqoGcGS2_QqmWnYnmGlQloWSD5PwGbP2WaK6rSdkncqA_q4kfv99gdYsc6PJh5nEL21FqP2kDyRKivrARa2zPg2WKPO0vY0EnglJos2VBOZQdJ6w9dJwBeaGTP0O1a4S-mMHXtgnMDDoAt6Bggv8-CuQhVjNc9tkCUyqqYHHO49W0dSc5BI8dxi2iUTVVjT6KvhcYAFT0pHgKjFQLc4BP1FtyBOHqsIp_JhGUv5-ZJ2yqpSMPyW5e2rbC_2_PMrRmkSjJpLOgZiHmPNfRZ61lHuBqqrxJZp6GVCF6DMbIYsZP1uUeX0P7Mo_jNb7I4IjYts9ReErVXU29dMYT358keGZD8sIdqSbR_PRtGpR9qf1XjfZ9dNH9YoSfTAgj3t8nyqlZgXyCEyeNov3sd7BkNmxTsoXcB-5odzmts5v9fVPRnEA7TM2L7AhGpNZqWfium74HylCSY5eaFrOaE2GmDOwwriwpniJ_F6hmjd1i9X2s4MgpzN7aayL_p_JWAjWyAYaung_z45tu3mLca5KyLA8MM--rS19-9yY6gzbikryvshmtOvKZaMi6p0rxL-RhEoeyPGPtGpNbotDO2TfBomH50H3oSyqwEbsNNCvKpvQftv5iR4hbxvO_ZjMSOInY2_J3qQ6BpEuZMxXfPJzPgatYvrZ-A6OXF1V7xDy0o3kSlwbTKQkAvEh9cMYjnldz5IeCSIorKwWmoAGBl5UuPIb6YmfO2P4q6o3LDp9uq86yiwrWPCVDc6O_7GJ35mLYJmCFoCUV1AlKZl-F5ixPyprhFY-bQG2RP995CGEcP90M_E_XRSZjza9hd5vOL2dOu7LyI-XnQ",null,null,378,null,null,null,0,"2"]',
'x-goog-ext-387202953-jspb': '["/DataService.GetImageTranslation"]',
'x-same-domain': '1',
}
content = image_base64_data("image.png")
img_data = json.dumps([[content, "image/png"], "auto", "en"])
f_data = {"f.req": json.dumps([[["WqWDPb", img_data, None, "generic"]]])}
url_f_data = urllib.parse.urlencode(f_data)
response = requests.post(
'https://translate.google.com/_/TranslateWebserverUi/data/batchexecute',
headers=headers,
data=url_f_data,
)
open("new_rs.txt", "w").write(str(response.content))
print(response.status_code)
def find_and_return_img(txt):
m = re.search('WqWDPb(.*)image', txt)
if m:
print("fd")
found = m.group(1)
imgz = found[:-4][7:]
with open("decoded_image.png", "wb") as img_file:
img_file.write(base64.b64decode(imgz))
return "decoded_image.png"
return 404
find_and_return_img(str(response.content))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment