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()