/EasySearch

一个简易的桌面端搜索工具

Primary LanguagePythonMIT LicenseMIT

EasySearch

项目简介

这是一个基于Python爬虫的简单搜索工具,其主要实现的功能是实现一个可以给用户提供快捷搜索的桌面小工具。其以系统托盘图标的形式储存驻存在电脑任务栏,可以以快捷键ctrl+alt+s(可修改)唤起搜索框,在搜索框键入想要搜索的文字后可获得相应搜索网站的搜索结果及其预览结果。

目前可用的搜索网站有:

  • CSDN
  • 博客园
  • 电子发烧友

主要功能

  • 提供多个搜索网站的聚合搜索
  • 搜索网站可自行扩展
  • 搜索词条的智能提示
  • 搜索结果预览
  • 搜索结果导出为PDF

项目文件结构

main.py提供了整个程序的主程序入口

./src提供了整个程序所需的所有模块化功能以及图片素材,其功能描述如下:

文件 功能
Crawler.py 爬虫的抽象类以及具体爬虫的代码实现
CrawlerFactory.py 爬虫的工厂类实现
icons.py 程序中所有用到的图标的二进制文件
InfoWindow.py 搜索结果预览窗口的实现
Keywords.py 搜索词条智能提示的代码实现
SearchBar.py 搜索栏的代码实现
SetDialog.py 系统设置窗口的代码实现

项目使用方法

以下所有命令都是在项目文件夹的根目录作为工作目录的前提下使用。

依赖安装

pip包管理器

pip install -r requirements.txt

anaconda环境

conda install --yes --file requirements.txt

程序运行

python main.py

注意:在运行此程序时,可能会报全局热键已被占用的错误,此时请检查是否登录了QQ,因为QQ截图快捷键是ctrl+alt+s,与我们所设置的默认唤起快捷键相冲突,解决方式就是先将QQ退出,将系统的唤起快捷键改成其它不会产生冲突的快捷键组合。

TODO

  • 检测快捷键冲突
  • 解决电子发烧友在爬取信息时有一定概率出错的问题
  • 增加可用搜索引擎
  • 解决搜索词条智能提示缓慢的问题

说明

这个项目是电子科技大学张勇老师所开设的《Python语言程序设计及其应用》课程的期末课程设计项目,首先十分感谢张老师对我们这一学期的指导。本项目由三位同学共同完成,分别是:

本项目在经由三位同学的同意下,以MIT的开源协议进行开源。

如果大家觉得这个项目有可借鉴之处,还望大家能够点一个小小的star:star:,如果有啥疑问也请大家大胆issue。