Spaces:
Paused
Paused
| import gradio as gr | |
| import requests | |
| from bs4 import BeautifulSoup | |
| import re | |
| def search_fn(query): | |
| page = requests.get(f"https://www.google.com/search?q={query}") | |
| soup = BeautifulSoup(page.content) | |
| #links = soup.findAll("a") | |
| links = soup.findAll("a") | |
| file = open("myfile.txt", "w") | |
| for link in soup.find_all("a",href=re.compile("(?<=/url\?q=)(htt.*://.*)")): | |
| out = (re.split(":(?=http)",link["href"].replace("/url?q=","").split("&sa",1)[0])) | |
| out = out[0] | |
| frame_l=f'<div class="container-mee"><a class="put-on-top" href="{out}">{out}</a><iframe class="responsive-iframe-mee" src="{out}" frameborder="3"></iframe></div>' | |
| file.writelines(frame_l) | |
| #print(file1.read()) | |
| print (out) | |
| file.close() | |
| with open("myfile.txt", "r") as file1: | |
| html_out = file1.read() | |
| return (html_out) | |
| def first(): | |
| out = '''<h1>Loading''' | |
| return out | |
| def test(inp): | |
| with open("myfile.txt", "r") as file1: | |
| html_out = file1.read() | |
| style = ''' | |
| .put-on-top{ | |
| border-style: solid; | |
| border-width: 3px; | |
| border-radius: 5px; | |
| background: none; | |
| margin-top:2em; | |
| } | |
| .grid-mee { | |
| display: flex; | |
| flex-direction: row; | |
| flex-wrap: wrap; | |
| justify-content: space-evenly; | |
| align-items: stretch; | |
| align-content: space-evenly; | |
| } | |
| .container-mee { | |
| position: relative; | |
| overflow: hidden; | |
| width: 33%; | |
| height: 60em; | |
| margin-bottom: 1em; | |
| } | |
| /* Then style the iframe to fit in the container div with full height and width */ | |
| .responsive-iframe-mee { | |
| position: relative; | |
| top: 0; | |
| left: 0; | |
| bottom: 0; | |
| right: 0; | |
| width: 100%; | |
| height: 100%; | |
| } | |
| ''' | |
| out = f'''<!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| </head> | |
| <style> | |
| {style} | |
| </style> | |
| <body> | |
| <div class=grid-mee> | |
| {html_out} | |
| </div> | |
| </body> | |
| </html>''' | |
| return out | |
| with gr.Blocks() as app: | |
| with gr.Row(): | |
| search_box=gr.Textbox("Search") | |
| search_btn=gr.Button() | |
| out_text = gr.Textbox() | |
| with gr.Row(): | |
| input = gr.Textbox() | |
| btn = gr.Button() | |
| output = gr.HTML("""""") | |
| search_btn.click(search_fn,search_box,out_text) | |
| btn.click(first,None,output).then(test,input,output) | |
| app.launch() |