querysurvey / app.py
adpro's picture
Update app.py
504d0ce verified
raw
history blame
2.72 kB
import requests
import gradio as gr
from bs4 import BeautifulSoup
from rich import print
from urllib.parse import urlparse
import re
from googlesearch import search
from urllib.parse import parse_qs
def run_lora(prompt,site,start,end):
murl = f"https://www.google.com/search?q=site:" +site + "+" +prompt + "&tbs=cdr:1,cd_min:{start},cd_max:{end}"
surl = "https://www.google.com/search?q=site:" +site + " " +prompt + "after:"+start+"before:" + end
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
page = requests.get(murl,headers)
print("https://www.google.com/search?q=site:" +site + " " +prompt + "&tbs=cdr%3A1%2Ccd_min%3A"+start+"%2Ccd_max%3A" + end)
soup = BeautifulSoup(page.text, 'html.parser')
search_results = []
#MjjYud
for g in soup.find_all('div',class_=re.compile(r'tF2Cxc')):
print(g)
title = g.find('h3').text if g.find('h3') else 'No title'
link = g.find('a')['href']
snippet = g.find('div', class_='IsZvec').text if g.find('div', class_='IsZvec') else 'No snippet'
search_results.append({
'title': title,
'link': link,
'snippet': snippet
})
return search_results
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]
def make_url(query,start,end):
return f"https://www.google.com/search?q={query}&rlz=1C1CHBF_enUS1024US1025&biw=1564&bih=932&sxsrf=ALiCzsaGPneyPAo-kyllnxBBtXe-FGWorQ%3A1665448856808&source=lnt&tbs=sbd%3A1%2Ccdr%3A1%2Ccd_min%3A{start}%2Ccd_max%3A{end}&tbm=nws"
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()