Spaces:
Sleeping
Sleeping
File size: 2,850 Bytes
a728a0a b17f522 5ba7d4a b17f522 bae1830 02496bc b17f522 b843a6a b17f522 13a5496 b17f522 70197c9 82b10de d7b570d 3d86393 0519468 3d86393 87e3bbb b53186f b843a6a 3d86393 13a5496 cc3d66e 87e3bbb 3d69e0b d6bdbe0 a728a0a 5d06996 3d69e0b d6bdbe0 8e9b61d ff29c91 506e2ac 97c6f56 08d4832 97c6f56 f4eb8fa 97fae85 506e2ac 97fae85 ff29c91 17344f2 201d07e 390bd6e 201d07e 390bd6e 17344f2 ba49f41 79734a5 01cee2f f4eb8fa a1a1f0d 8d6809c 5b20fc4 e363e51 8d6809c 01cee2f 8d6809c a137c8a a728a0a 8e9b61d a728a0a 17344f2 d6bdbe0 17344f2 a728a0a a137c8a a728a0a b17f522 bae1830 d085e01 b17f522 6f50145 b17f522 a728a0a b17f522 bae1830 7c4cb65 a728a0a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
import gradio as gr
import requests
from bs4 import BeautifulSoup
import re
def search_fn(query,count):
if count>99:
count = 99
page = requests.get(f"https://www.google.com/search?q={query}&num={count}")
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]
rr=requests.get(f"{out}")
x_opt = (dict(rr.headers).get("x-frame-options"))
if x_opt == None:
frame_l=f'<div class="container-mee"><div class="put-on-top"><a target="_blank" href="{out}">{out}</a></div><iframe class="responsive-iframe-mee" src="{out}" frameborder="3"></iframe></div>'
file.writelines(frame_l)
else:
pass
#print(file1.read())
print (out)
print(dict(rr.headers).get("x-frame-options"))
file.close()
with open("myfile.txt", "r") as file1:
html_out = file1.read()
out = format_t(html_out)
return out
def first():
out = '''<h1>Loading'''
return out
def test(out):
return format_t(f'<div class="container-mee"><div class="put-on-top"><a target="_blank" href="{out}">{out}</a></div><iframe class="responsive-iframe-mee" src="{out}" frameborder="3"></iframe></div>')
def format_t(inp):
style = '''
.put-on-top{
align-contents:center;
border-style: solid;
border-width: 3px;
border-radius: 5px;
background: none;
padding: 0.5em;
margin-top:1em;
margin-bottom:0.3em;
}
.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: 48%;
height: 60em;
margin-top: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>
{inp}
</div>
</body>
</html>'''
return out
with gr.Blocks() as app:
with gr.Row():
search_box=gr.Textbox(label = "Search",scale=2)
num_return=gr.Number(value=20, scale=1)
search_btn=gr.Button(scale=1)
with gr.Row():
input = gr.Textbox(label = "URL")
btn = gr.Button()
output = gr.HTML("""""")
search_btn.click(search_fn,[search_box,num_return],output)
btn.click(first,None,output).then(test,input,output)
app.launch() |