爬虫程序定时启动crontab

注意:第一次进入crontab,选择vim编辑器

如果不小心选择了其他编辑器,执行以下代码即可

export EDITOR="/usr/bin/vim"

1.添加***.sh文件

 cd `dirname $0` || exit 1
 python ./main.py >> run.log 2>&1

2.添加可执行权限

sudo chmod +x myspder.sh

3.写入crontab中,按照下面规则即可,保存退出
在这里插入图片描述
4.查看执行日志

tail -f /var/log/cron  # 后面为文件路径,改为自己的
tail /var/log/cron  # 查看后面几行日志
ps -ef | grep 爬虫文件名  # 查看进程
kill -9 pid  # 杀死进程
### 如何在 NAS 上的虚拟机中配置定时运行的爬虫程序 #### 配置环境 为了实现在 NAS 的虚拟机中定期运行 Python 爬虫程序,需先确保虚拟机已安装必要的软件包和依赖项。通常情况下,在基于 Linux 的环境中操作更为简便。 对于 Python 开发环境而言,建议使用 `virtualenv` 或者 `conda` 来创建独立的工作空间[^1]: ```bash sudo apt-get update && sudo apt-get install python3-pip virtualenv cd /path/to/project virtualenv venv source venv/bin/activate pip install requests beautifulsoup4 lxml ``` 上述命令用于更新系统并安装 pip 和 virtualenv 工具;进入项目目录后初始化一个新的虚拟环境,并激活该环境;最后通过 pip 安装所需的 Python 库。 #### 编写爬虫代码 编写一个简单的 Python 脚本来抓取目标网站的数据。这里以获取某博客的文章链接为例[^2]: ```python import requests from bs4 import BeautifulSoup def fetch_links(url): response = requests.get(url) soup = BeautifulSoup(response.text, 'lxml') links = [] for article in soup.select('.article-item'): link = article.find('a')['href'] title = article.h2.string.strip() links.append((title, link)) return links if __name__ == '__main__': url = "http://blog.itpub.net/26736162/viewspace-2134706/" results = fetch_links(url) with open('/tmp/output.txt', 'w') as f: for result in results: line = "{}\t{}\n".format(*result) f.write(line) ``` 这段代码定义了一个函数 `fetch_links()` ,它接收 URL 参数并通过 HTTP 请求访问页面内容,解析 HTML 文档结构提取所需的信息(即文章标题及其对应的超链接),并将这些数据保存到本地文件 `/tmp/output.txt` 中。 #### 设置计划任务 为了让此脚本能够按照预定的时间间隔自动执行,可以借助 cron 这样的调度器来安排周期性的作业。编辑当前用户的 crontab 文件: ```bash crontab -e ``` 向其中添加一行如下所示的内容,表示每天凌晨两点钟触发一次爬虫任务: ```text 0 2 * * * cd /path/to/project && source ./venv/bin/activate && python crawler.py >> /var/log/crawler.log 2>&1 ``` 这行指令会切换至项目的根路径下启动虚拟环境再调用 Python 解释器去跑我们
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值