Spaces:
Runtime error
Runtime error
import requests | |
import gradio as gr | |
from bs4 import BeautifulSoup | |
from rich import print | |
from urllib.parse import urlparse | |
from urllib.parse import parse_qs | |
def run_lora(prompt,site,start,end): | |
# to search | |
query = "Python programming" | |
url = f"https://www.google.com/search?q=inurl:{site}+{prompt}&tbs=cdr%3A1%2Ccd_min%3A{start}%2Ccd_max%3A {end}" | |
response = requests.get(url) | |
soup = BeautifulSoup(response.text, 'html.parser') | |
print(soup) | |
links = soup.findAll("a") | |
mLink="" | |
extract_results(soup) | |
def extract_results(soup): | |
main = soup.select_one("#main") | |
res = [] | |
for gdiv in main.select('.g, .fP1Qef'): | |
res.append(extract_section(gdiv)) | |
return res | |
def extract_section(gdiv): | |
# Getting our elements | |
title = gdiv.select_one('h3') | |
link = gdiv.select_one('a') | |
description = gdiv.find('.BNeawe') | |
return { | |
# Extract title's text only if text is found | |
'title': title.text if title else None, | |
'link': extract_href(link['href']) if link else None, | |
'description': description.text if description else None | |
} | |
def extract_href(href): | |
url = urlparse(href) | |
query = parse_qs(url.query) | |
if not ('q' in query and query['q'] and len(query['q']) > 0): | |
return None | |
return query['q'][0] | |
with gr.Blocks() as app: | |
gr.HTML("""<html> | |
<head> | |
<style> | |
h1 { | |
text-align: center; | |
} | |
</style> | |
</head> | |
<body> | |
<h1>Get survey</h1> | |
</body> | |
</html>""") | |
with gr.Row(): | |
with gr.Column(): | |
input_textbox = gr.Textbox(lines=5, placeholder="Enter key", label="Input Text") | |
input_sitebox = gr.Textbox(lines=5, placeholder="Enter site", label="Site Text") | |
start = gr.Textbox(lines=5, placeholder="Enter start", label="Enter start") | |
end = gr.Textbox(lines=5, placeholder="Enter End", label="Enter End") | |
with gr.Column(): | |
translated_textbox = gr.Textbox(lines=5, placeholder="", label="Result Text") | |
info_label = gr.HTML("") | |
btn = gr.Button("GetNow") | |
btn.click(run_lora, inputs=[input_textbox,input_sitebox,start,end],outputs=[translated_textbox]) | |
app.queue() | |
app.launch() |