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

 更新时间:2021年04月09日 09:29:27   作者:wx_zhu6201976  
这篇文章主要介绍了Python通过tkinter实现百度搜索的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

本文主要介绍了Python通过tkinter实现百度搜索的示例代码,分享给大家,具体如下:

"""
百度搜索可视化
"""
import tkinter
 
import win32api
from 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-8
import os
import time
import requests
import urllib.parse
from bs4 import BeautifulSoup
from urllib.parse import urlparse
from fake_useragent import UserAgent
from multiprocessing.pool import ThreadPool
LOCATIONS = {}
GLOBAL_THREAD = 500
GLOBAL_TIMEOUT = 50
def 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 links
def 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 > h3.t > a"):
req = requests.get(link.get("href"), headers=headers, allow_redirects=False)
if "=" in req.headers["location"]:
root = urlparse(req.headers["location"]).netloc
LOCATIONS[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实现百度搜索的示例代码的文章就介绍到这了,更多相关Python tkinter百度搜索内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 通过Python的jieba库对文本进行分词

    通过Python的jieba库对文本进行分词

    Python的jieba库是一个中文分词工具,它可以将一段中文文本分割成一个一个的词语,方便后续的自然语言处理任务,如文本分类、情感分析等,本文给大家介绍如何通过Python的jieba库对文本进行分词,文中详细的代码示例,需要的朋友可以参考下
    2023-05-05
  • pytorch查看通道数 维数 尺寸大小方式

    pytorch查看通道数 维数 尺寸大小方式

    这篇文章主要介绍了pytorch查看通道数 维数 尺寸大小方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • python如何查找列表中元素的位置

    python如何查找列表中元素的位置

    这篇文章主要介绍了python如何查找列表中元素的位置,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 如何真正的了解python装饰器

    如何真正的了解python装饰器

    在本篇内容里小编给大家整理的是一篇关于如何真正的了解python装饰器的相关文章,需要的朋友们可以参考下。
    2020-08-08
  • python用post访问restful服务接口的方法

    python用post访问restful服务接口的方法

    今天小编就为大家分享一篇python用post访问restful服务接口的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python功能点实现:函数级/代码块级计时器

    Python功能点实现:函数级/代码块级计时器

    今天小编就为大家分享一篇关于Python功能点实现:函数级/代码块级计时器,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • python实现从ftp服务器下载文件

    python实现从ftp服务器下载文件

    这篇文章主要为大家详细介绍了python实现从ftp服务器下载文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 浅谈python之新式类

    浅谈python之新式类

    这篇文章主要介绍了浅谈python之新式类,详细的介绍了如何使用新式类和经典类的区别。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • python学习笔记:字典的使用示例详解

    python学习笔记:字典的使用示例详解

    python字典的使用: python字典有很多好用的地方。字典每个元素都有键和值。如同现代汉语字典中的拼音和对应的文字。字典中的键是唯一的,而值不一定唯一。你看,和现代汉语字典多么的相似。
    2014-06-06
  • 使用Keras实现Tensor的相乘和相加代码

    使用Keras实现Tensor的相乘和相加代码

    这篇文章主要介绍了使用Keras实现Tensor的相乘和相加代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06

最新评论