利用vps+nodejs爬虫实现国外软件的自动下载并且同步到百度网盘
买了一个国外的vps
作为ss
的服务器使用,但是一个月有 1000g 的流量根本用不完.后来想到在国内有一些网站的内容下载超级慢体验贼屎(比如git
),所以利用node
写了一个小爬虫,下载指定网站的exe|zip|rar
软件,并且自动同步到百度网盘,美滋滋.
密码:8g3a
软件列表 |
---|
git |
everything |
vps
系统为centos 6 x 64
node
版本9.x
教程开始
使用了cheerio
作为nodejs
爬虫的框架,这是一个类似于jquery
操作的框架,在这只是简单的使用.
每一步都写了注释,看不懂的话就直接用就可以了.
1 | //引入内置request模块 |
可以先在本地试一下可不可以.
新建在同级目录下新建download
文件夹,执行文件
1 | node app |
如果download
文件夹下出现文件的名字了表示下载成功,可以按ctrl+c
取消,如果没出现查看错误信息.
然后在服务器中安装nodejs
,因为我是centos
系统,所以使用yum
安装
获取
nodejs
资源1
curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
安装
1
yum install -y nodejs
测试是否安装成功
1
node -v
出现版本号则安装成功
如果
node
版本比较低,可以使用n
模块升级全局安装
n
1
npm install n -g
升级到最新版
1
n latest
升级完成后断开
vps
重新连接**(不是重启)**,查看是否升级成功1
node -v
nodejs
安装完成以后把文件上传到服务器,个人感觉FlashFXP
挺好用,带ui
界面
然后在服务器执行node app
看看是否能下载到vps
里**(别忘了在同级目录新建 download 文件夹)**
———————————-我是分割线———————–
现在已经可以成功的把文件下载到vps
里面了,接下来就需要上传到百度云了,在这用的是bpcs_uploader
插件,作者网站,作者博客
bpcs_uploader 安装和使用
首先安装
php
1
yum install php
把项目 clone 到
vps
上1
git clone https://github.com/oott123/bpcs_uploader.git
为脚本添加权限
1
2cd bpcs_uploader
chmod +x bpcs_uploader.php初始化脚本
1
./bpcs_uploader.php quickinit
这个时候终端会询问你是否初始化,输入 Y,然后会打印出许多文字,其中包括授权码。
在浏览器中访问百度授权申请。输入授权码,确定,成功后返回终端按回车键,看到屏幕上打印出了你百度网盘的容量,证明初始化完成。
完成以后就可以尝试同步一下,看看是否可以把vps
的文件同步到百度网盘.
1 | //上传: |
可以同步以后就需要实现自动化了,使用命令只能手动同步,并且必须输入文件名,那么可以写一个shell
脚本来完成同步.
1 | #!/bin/bash |
可以把以上代码复制以后存为.sh
文件进行执行,但是需要注意,如果在windows
下编辑并保存以后再vps
上执行会报错,使用vi
打开会发现行尾有^M
字符,所以需要去掉.
1 | vi -b upload.sh |
打开文件后执行以下代码
注意!下面的^
和M
不是直接打出来的,而是ctrl+v
和ctrl+m
1 | :%s/^M//g |
替换完成后使用:wq
保存保存并退出.
再次执行sh
文件
1 | ./upload.sh |
查看是否可以在百度云同步成功.
爬虫有了,文件批量同步百度网盘有了,就差最后一步自动化了,可以使用crontab
进行定时任务.
执行:
1 | service crond status |
其他操作:
1 | service crond start //启动服务 |
执行
1 | crontab -e |
使用vi
输入:
1 | 0 2 * * 1 /你的路径/upload.sh |
以上的意思为每周一的凌晨 2 点执行upload.sh
脚本一次
然后按下esc
,输入:wq
保存并退出
为了保险起见可以重启一下进程:
1 | service crond restart //重启服务 |
DONE
当然如果没用明白没关系,你可以留言给我需要下载的外网资源,我来添加到爬虫里,然后可以使用我的百度网盘分享进行下载.
密码:8g3a.
利用vps+nodejs爬虫实现国外软件的自动下载并且同步到百度网盘
https://liunian.js.org/2018/07/11/利用vps+nodejs爬虫实现国外软件的自动下载并且同步到百度网盘/