Skip to content

ArkURL/Arknights_birthdays_operators_search

Repository files navigation

简介

使用scrapy框架爬取prts上的干员生日信息并保存到本地,从而可以方便的使用干员-生日双向查询功能

环境需求

需要python环境中至少有以下依赖:

  1. python 3.8及以上(没有测试过python 3.7及以下版本,最好使用3.8及以上版本的python解释器)
  2. scrapy包及其相关依赖包(如lxml、twisted等)。
  3. pyqt包及相关依赖包。

在requirements.txt文件中即可看到项目依赖。

用法

爬取信息

Arknight_operators_birthdays/文件夹中使用以下命令即可完成爬取(需等待一段时间完成)。

python run.py

爬取完成后在Arknight_operators_birthdays/文件夹下(即项目根文件夹下)能看到arknights.json文件。若该文件有新写入的内容则说明爬取成功。

查询信息

如使用图形界面的方式启动,启动方式有如下两种:

  1. 在pycharm等IDE中运行View/MainInterface.py,运行成功即可看到图形界面,通过图形界面进行对应操作即可。
  2. cd到View文件夹下,使用以下命令启动:
python MainInterface.py

如使用命令行的方式进行查询,通过命令python启动对应命令即可。 示例:

python birthday_search.py

推荐使用图形界面的方式启动,功能相对通过命令行启动的方式更为丰富。

注意,必须要先完成爬取,将信息保存到本地后才能使用查询功能。

日志

ver 1.0.0

改动

  1. 增加了图形界面。
  2. 通过设置并行请求数提高了爬虫速度,在网络状况良好的情况下能更快完成信息爬取。

可改进的地方

  1. 可在middlewares处设置随机UA,使并发爬虫更容易通过。

ver 1.0.1

改动

  1. 在settings.py文件中设置了UA表用于随机UA访问网站,同时在middlewares.py中做出了对应的修改。
  2. 修改了爬虫完成信息爬取后弹出的信息框按钮,可直接在按钮中进行重新爬取。

附言

采用了随机UA后发现效果并不理想,耗费时间多于并发爬取、单UA设置的耗费时间,因此改回使用单UA,若要修改随机UA则只需要在settings.py中取消注释即可。

ver 1.0.2

改动

  1. 添加了icon,同时修改了一下面板

ver 1.0.3

改动

  1. 尝试使用pyinstaller输出exe文件,但会出现路径问题及窗口重复出现的问题,还是直接通过python解释器运行比较稳定。
  2. 完善了README.MD文件。

ver 1.0.4

改动

  1. 在“按照日期搜索同一天生日的干员”面板中,加入了输入“今天”就能直接查询系统当天日期的生日干员,更为人性化。

ver 1.0.5

改动

  1. 删除不必要的文件、忽略了不必要的文件上传(如弃用的pickle模块、忽略了__pycache__文件夹)
  2. 将图形界面所使用到的api文件转移到了View文件夹中。
  3. 现在可在命令行方式启动中通过输入今天得到今天所对应的生日干员。
  4. 现在可以通过命令行而不是pycharm直接启动图形界面。

已知问题

  1. 偶尔会出现某些干员检索不到的情况,可能由网速不佳、请求失败引起。重新爬取信息后解决。

About

使用scrapy框架爬取prts上的干员生日信息并保存到本地,从而可以方便的使用干员-生日双向查询功能

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages