Meeran Rizvi wrote, on February 03, 2017 4:05 AM > > Hello guys, > Here i am creating a GUI which will act as a search engine. > When you search for a data in search box it will fetch the > results from the very first page in browser and it is > displayed in a Text widget When the TOP value is 10 it should > display only the first 10 results based on numbers.if it is > 20 it should display first 20 results based on the number. > How should i do that? Here is my script <python> from Tkinter > import * import mechanize from bs4 import BeautifulSoup root = Tk() > > def clear_search():#Reset the search field > Search.delete(0,END) > Result.delete("1.0",END) > > def fun(self=0): > new = Search.get() > url = "https://duckduckgo.com/" > br = mechanize.Browser() > br.set_handle_robots(False) > br.open(url) > br.select_form(name="x") > br["q"] = str(new) > res = br.submit() > content = res.read() > #print content > soup = BeautifulSoup(content,"html.parser") > mylink = soup.find_all('a') > v = 0 > for i in mylink: > try: > if i.attrs['class'][0] == "result__a": > v = v + 1 > Result.insert(END,v) > Result.insert(END,i.text) > Result.insert(END,'\n') > elif i.attrs['class'][0] == "result__snippet": > Result.insert(END,i.text) > Result.insert(END,'\n') > Result.insert(END,i.attrs['href']) > Result.insert(END,'\n ') > > Result.insert(END,'------------------------------------------- > -------------------------------') > > except KeyError: > pass > > > with open("result1.xls", "w") as f: > f.write(content) > > Value = Label(root,text="Value:", font="-weight bold") > Value.grid(row=0,column=0,padx=15) > > Search = Entry(root,width=50) > Search.grid(row=0,column=1) > > Top = Label(root,text="TOP",font="-weight bold") > Top.grid(row=1,column=0) > > var = StringVar(root) > var.set('10') > > Dropdownlist = OptionMenu(root,var,'10','20','50','100') > Dropdownlist.grid(row=1,column=1,sticky="w") > > > Go = Button(root,text="GO",width=5,command=fun) > Go.bind("<Key>",fun) > Go.grid(row=1,column=1) > > > > > Reset = Button(root,text="RESET",width=5,command=clear_search) > Reset.grid(row=1,column=1,sticky="e") > > Result = Text(root,height=20,width=75) > Result.grid(row=2,column=1,padx=50,pady=10) > Scroll = Scrollbar(root,command=Result.yview) > Scroll.grid(row=2,column=2,sticky=N+S) > Result.config(yscrollcommand=Scroll.set) > > root.mainloop() > > </python>
What is your question? If you're getting an error, please include all of it. -- https://mail.python.org/mailman/listinfo/python-list