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

Get survey

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