文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python通过tkinter实现百度搜索的代码

2023-06-14 10:49

关注

本篇内容介绍了“Python通过tkinter实现百度搜索的代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Python主要用来做什么

Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。

"""百度搜索可视化"""import tkinter import win32apifrom selenium.webdriver import Chrome entry = None  def callback():    global entry    keywords = entry.get()    if not keywords:        win32api.MessageBox(0, '请输入搜索关键字', '提示', 0)        return    chrome = Chrome()    chrome.get('https://www.baidu.com/')    chrome.find_element_by_id('kw').send_keys(keywords)    chrome.find_element_by_id('su').click()     # bilibili关键字搜索    # chrome.get('https://www.bilibili.com/')    # chrome.find_element_by_xpath('//form[@id="nav_searchform"]/input').send_keys(keywords)    # chrome.find_element_by_xpath('//div[@class="nav-search-btn"]/button').click()  def main():    global entry    tk = tkinter.Tk()    # tk.resizable(width=False,height=False)  # 固定窗体大小?无效    tk.title('百度搜索')     # 1.设置窗体居中    # screenwidth = tk.winfo_screenwidth()  # 获取屏幕宽度    # screenheight = tk.winfo_screenheight()  # 获取屏幕高度    # # 计算窗体大小,位置参数,width,height:窗体宽高    # width = 100    # height = 50    # size = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)    # tk.geometry(size)  # 设置窗体位置为屏幕居中     # 2.设置窗体右下角,无效    # screenwidth = tk.winfo_screenwidth()  # 获取屏幕宽度    # screenheight = tk.winfo_screenheight()  # 获取屏幕高度    # print(screenwidth,screenheight)    # # 计算窗体大小,位置参数,width,height:窗体宽高    # width = 100    # height = 50    # size = '%dx%d+%d+%d' % (width, height, (screenwidth - width), (screenheight - height))    # tk.geometry(size)  # 设置窗体位置为屏幕右下角     # 获取窗体x,y    # tk.update()    # print(tk.winfo_x())    # print(tk.winfo_y())     tk.geometry('+0+0')  # 固定屏幕左上角    # tk.geometry('+1440+770')     entry = tkinter.Entry(tk)    entry.pack()     button = tkinter.Button(tk, text='百度一下', command=callback)    button.pack()     tk.mainloop()  if __name__ == '__main__':    main()

补充:python模拟百度搜索点击链接

# coding: utf-8import osimport timeimport requestsimport urllib.parsefrom bs4 import BeautifulSoupfrom urllib.parse import urlparsefrom fake_useragent import UserAgentfrom multiprocessing.pool import ThreadPoolLOCATIONS = {}GLOBAL_THREAD = 500GLOBAL_TIMEOUT = 50def get_links(keyword, generator, pages):links = []for page in range(int(pages.split("-")[0]), int(pages.split("-")[1]) + 1):for genera in range(int(generator.split("-")[0]), int(generator.split("-")[1]) + 1):links.append("http://www.baidu.com.cn/s?wd=" + urllib.parse.quote(keyword + str(genera)) + "&pn=" + str(page * 10))return linksdef get_page(url):headers = {"user-agent": UserAgent().chrome}req = requests.get(url, headers=headers)req.encoding = "utf-8"soup = BeautifulSoup(req.text, "lxml")for link in soup.select("div.result > h4.t > a"):req = requests.get(link.get("href"), headers=headers, allow_redirects=False)if "=" in req.headers["location"]:root = urlparse(req.headers["location"]).netlocLOCATIONS[root] = req.headers["location"]def baidu_search():try:os.system("cls")print("-" * 56 + "\n")print("| BaiduSearch Engine By 美图博客[https://www.meitubk.com/] |\n")print("-" * 56 + "\n")keyword = input("Keyword: ")generator = input("Generator(1-10): ")pages = input("Pages(0-10): ")start = time.time()pool = ThreadPool(processes=GLOBAL_THREAD)pool.map(get_page, get_links(keyword, generator, pages))pool.close()pool.join()end = time.time()path = r"D:\Desktop\result.txt"save_result(path)print("\nSava in %s" % path)print("Result count: %d" % len(LOCATIONS.values()))print("Running time: %ds" % (end - start))except:print("\nInput Error!")exit(0)def save_result(path):with open(path, "w") as file:for url in list(LOCATIONS.values()):file.write(url + "\n")baidu_search()

“Python通过tkinter实现百度搜索的代码”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯