Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from selenium import webdriver | |
| from selenium.common.exceptions import WebDriverException | |
| from PIL import Image | |
| from io import BytesIO | |
| import openai | |
| api_key = "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" | |
| openai.api_key = api_key | |
| def web_scrape(url): | |
| options = webdriver.ChromeOptions() | |
| options.add_argument('--headless') | |
| options.add_argument('--no-sandbox') | |
| options.add_argument('--disable-dev-shm-usage') | |
| try: | |
| wd = webdriver.Chrome(options=options) | |
| wd.set_window_size(1080, 720) # Adjust the window size here | |
| wd.get(url) | |
| wd.implicitly_wait(10) | |
| page_title = wd.title.replace("Stock Photo | Adobe Stock", "").strip() | |
| #content_value = meta_element.get_attribute("name") | |
| prompts = [ | |
| f"Please make 3 best microstock titles with {page_title}", | |
| ] | |
| titles = [] | |
| for prompt in prompts: | |
| response = openai.Completion.create( | |
| engine="text-davinci-002", | |
| prompt=prompt, | |
| max_tokens=30, # Adjust max_tokens as needed | |
| n=3, # Generate 3 titles | |
| stop=None, # You can specify stop words to end the titles if needed | |
| ) | |
| generated_titles = [choice['text'] for choice in response['choices']] | |
| titles.extend(generated_titles) | |
| return "\n".join(titles) | |
| #return meta_element | |
| except WebDriverException as e: | |
| return "error handle website" | |
| finally: | |
| if wd: | |
| wd.quit() | |
| return Image.open(BytesIO(screenshot)) | |
| iface = gr.Interface( | |
| fn=web_scrape, | |
| inputs=gr.inputs.Textbox(label="Website URL", default="https://stock.adobe.com/stock-photo/id/621214874"), | |
| outputs=gr.outputs.Textbox(label="Web Content"), | |
| title="Web Scraping with Selenium (Body Tag)", | |
| description="Scrape the content of a website's <body> tag using Selenium.", | |
| ) | |
| iface.launch() |