前面我发布的博文《科学上网按需智能筛选3000+免费节点使用,拓展除winxray外其他主流客户端节点导入方法》,《导节点基本方法视频介绍》,相信大家对爬虫爬取3000个免费节点会导入和使用,而爬虫爬取功能强大性是有所认知。我们得到的好处就是从别人网站分享爬取的免费节点使用。对于别人个性化设置爬取条件是什么我们一概不知,如何根据自己个性化需求爬取有效节点,甚至搭建爬虫告别复杂的搭建环节,以及在不需要宝塔面板下,让弱鸡也能装上爬虫应用。这就是本篇博文所要讲述的重点。授人鱼,不如授人渔。本文重点教会大家搭建爬虫,爬取的节点具体使用可参见我前面提到的文章浏览。
一键安装脚本部分代码来源于网络,通过我精心修改过来的,需要引用转发请注明“Littleyu科学上网”
1.境外VPS一台(1核CPU,256M内存);2.操作系统:CentOS7,;3.域名一个。
在搭建前,先做好域名解析任务,解析到要搭建VPS的ip。
使用ssh终端工具登录VPS,输入以下命令完成一键自动安装爬虫程序。脚本安装会提示输入你自己解析好的域名,最好是二级域名(如:www.yugogogo.ml)
wget https://raw.githubusercontent.com/lanhebe/proxypool/master/onekey_install.sh && chmod +x onekey_install.sh && ./onekey_install.sh
安装自动搭建爬虫程序,并且搭建nginx,由nginx反代爬虫服务,当爬取完毕,3分钟会把结果以网页形式显示。
在浏览器地址栏处输入刚刚脚本安装的域名(演示域名:www.yugogogo.ml)回车,即可看到下图爬取主页。有关免费节点高级筛选和使用方法详见《科学上网按需智能筛选3000+免费节点使用,拓展除winxray外其他主流客户端节点导入方法》,《导节点基本方法视频介绍》
一键搭建脚本默认使用的参数如不符合你的爬取需求,可以先把爬虫程序停下。(命令如下)
ps -ef |grep proxypool kill 1323
(如下图命令效果)
使用vi命令打开爬虫配置文件,vi config.yaml
# 你的域名,部署到自建服务器,请填写您的服务器IP或域名。proxypool目前不支持ssl,这意味着proxypool运行的端口无法直接使用https。您可以通过查看使用nginx反向代理开启https的示例。 domain: www.yugogogo.ml port: # proxypool运行的端口,默认值为12580。如果设置有环境变量$PORT,以环境变量优先。 # source list file 订阅源文件列表,项目内source文件位于config/source.yaml。您可以查看示例链接,以添加更多同类的订阅源。可以添加多个source文件,支持同时使用远程的source文件与本地source文件。 source-files: # use local file - ./source.yaml # use web file # - https://example.com/config/source.yaml # ======= 可选项,留空使用default值 ======= # postgresql database info database_url: "" #连接postgresql数据库的链接。没有数据库不影响程序的基本运行。若使用VPS,需要安装postgresql,自建用户和数据库。postgresql采用链接的方式连接数据库,需要将链接填入database_url # interval between each crawling crawl-interval: # 执行抓取节点任务的时间间隔,默认值为60,单位为分钟 crontime: # v0.4.x default 60 (minutes). Deprecated in the newest version # speed test speedtest: false # 测速功能开关,默认值为false。由于测速会消耗大量流量。默认关闭此功能。需要请设置为true speedtest-interval: # 执行测速任务的时间间隔,默认为720,单位为分钟。 connection: # 测速并发连接数,默认值为5 timeout: # 单个节点测速时间限制,默认值为10,单位为秒。超过此时间限制的节点会测速失败。若您的服务器带宽不足以承受并发导致失败次数过多,请减少connection,或增加timeout。 ## active proxy speed test active-interval: # 执行活跃节点测速任务的时间间隔,默认值为60,单位为分钟。 active-frequency: # 活跃节点最低频率,默认值为100次/interval。即每个active-interval内被请求的次数超过此选项的节点被判定为活跃节点。 active-max-number: # 最大活跃节点数,默认值为100。若活跃节点超过该选项,将会依照节点速度排序,丢弃多余的节点。此项用于减少服务器流量消耗。 # cloudflare api cf_email: "" cf_key: ""
在此处根据需求配置参数,我把各项参数设置附上中文注释,以便大家学习应用。对于流量多性能好的服务器可以打开speedtest参数测速。
输入“Esc键”:wq
保存并退出。然后重新启动爬虫程序即可。
启动命令:
nohup ./proxypool -c config.yaml >/dev/null 2>/dev/null &
若文章对你有所帮助请点赞支持一下,文中不足或有更好的建议,欢迎给我留言。
搭建爬虫视频教程详见此处。
View Comments
大佬,你可以把一键脚本上的acme.sh改一改么?acme.sh就把默认CA换成了ZeroSSL,不设置账户邮箱就不让用!
我这边也是申请不到ssl自动脚本里面导致一直打不开请修复下
已恢复可以正常使用。
大佬能不能修改一下脚本当检测到vps已有程序自动跳过?
比如原本已经安装了nginx,可否自动或手动跳过 继续执行下一步而不是 安装结束。
好的
一键脚本所生成的网站,(运行一两天后)经常出现“502 Bad Gateway”错误。
一键脚本所生成的网站,运行一两天后出现“502 Bad Gateway”错误,卸载后再重新安装又正常,已经发生两次了。
出现这种502情况一般是爬虫程序挂了,需要手动启动,若主机没有爬虫程序,可以先下载,配置,再重新启动爬虫。命令如下:
wget https://github.com/lanhebe/proxypool/releases/download/v0.6/proxypool-linux-amd64-v0.6.0.gz
gzip -d proxypool-linux-amd64-v0.6.0.gz
mv proxypool-linux-amd64-v0.6.0 proxypool
chmod 755 proxypool
wget https://raw.githubusercontent.com/lanhebe/proxypool/master/config.yaml
wget https://raw.githubusercontent.com/lanhebe/proxypool/master/source.yaml
修改config.yaml里面的域名保存即可,执行下段启动
nohup ./proxypool -c config.yaml >/dev/null 2>/dev/null &
谢谢指教!
一键脚本显示未找到命令
一键安装脚本是不是失效了?显示未找到命令。
贴码上来看看,至少把错误的关键码贴上
找不到config/source.yaml
可以自行到github我的项目仓库自行下载到运行的主机上运行。