Windows部署定时任务,每天定期执行手机机型爬取

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

项目背景

有一个手机机型自动更新获取的需求在我写好相关的爬虫后需要将爬虫部署并且需要配置定时任务每天定期执行。之前在Mac上开发现在部门给配了一台windows定期执行。

环境准备

A、安装ChromeDriver

1、我是通过ChromeDriver开发的爬虫所以首先需要安装好Chrome

查看当前的谷歌版本:
请添加图片描述
然后再到官网上去找对应版本的驱动: ChromeDriver驱动下载

2、配置环境变量
将下载好的压缩文件解压然后把其中的 exe文件复制到Chrome路径以及Python的安装路径下:
请添加图片描述

配置Chrome的系统环境变量此电脑→右击属性→高级系统设置→环境变量→用户变量→Path 中新建: …\Chrome\Application
请添加图片描述
如果是使用IDEA安装的Python可能会找不到具体的安装路径可以 通过 File→Project Structure→Project 查看:
请添加图片描述
然后我们可以测试一下chromedriver 是否安装成功:

from selenium import webdriver

if __name__ == '__main__':
    #测试chromedriver 是否安装成功
    browser = webdriver.Chrome()
    browser.get('http://www.baidu.com/')

请添加图片描述
**注意:**浏览器版本自动更新后可能驱动与之不匹配会报错就需要重新下载与浏览器对应的驱动覆盖如下两个位置:
1、Chrome安装路径
2、Python的安装路径

B、部署环境

在部署爬虫的时候有些包的版本可能需要保持一致例如selenium的版本从4.3以后有较大的变动删除了find_element_by_xpath 方法需要使用find_element()方法不熟悉的话可以改为之前的版本:请添加图片描述

pip install selenium==3.141.0

请添加图片描述

再看Python Packages里面的版本变为了3.141.0。

C、将爬虫任务配置为每天定时爬取

1.创建 mobileSpider.txt将后缀改为bat并且在里面写上python执行指令:

python mobileSpider.py

请添加图片描述

2.我们打开任务计划程序选择创建任务这里写一个名称用以标记然后切换到触发器

请添加图片描述

3.在触达器中我们新建触发器并且按照自己想要的定时任务配置定期执行的时间与频次。

请添加图片描述

4.我们直接确认可以在触发器中看到刚刚设置的触发器。

请添加图片描述

5.最后在操作中选择我们要定期执行的指令文件:

请添加图片描述

其中程序或脚本选择要执行的bat文件: D:\dev\code\mobileSpider\mobileSpider.bat
添加参数: D:\dev\code\mobileSpider\mobileSpider.bat
起始于: D:\dev\code\mobileSpider\

注意: 定时任务配置好以后可以在终端中测试一下我们进入到 .bat与 .py存放到文件路径内使用python mobileSpider.py执行可能会报错:

Traceback (most recent call last):
  File "D:\dev\code\mobileSpider\mobileSpider.py", line 3, in <module>
    from selenium import webdriver
ModuleNotFoundError: No module named 'selenium'

解决方案可以参考这篇博文解决Windows下使用cmd执行Python文件报错 ModuleNotFoundError: No module named ‘XXXX‘

解决了上述问题以后然后就可以正常执行了并且定时任务也可以成功运行:
请添加图片描述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: windows