【云计算】Linux中分布式爬虫Ruiji.Net教程(.netcore )
小标 2019-02-25 来源 : 阅读 944 评论 0

摘要:本文主要向大家介绍了【云计算】Linux中分布式爬虫Ruiji.Net教程(.netcore ),通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】Linux中分布式爬虫Ruiji.Net教程(.netcore ),通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

【云计算】Linux中分布式爬虫Ruiji.Net教程(.netcore )

RuiJi.Net是一个开源的分布式的网络爬虫框架,他有三种运行模式,分别为本地模式,伪分布模式,全分布模式。因为此款框架是基于.net core开发的,可以支持跨平台Linux系统运行。因为本人接触Linux也不多,今天就写一篇成功在Linux部署Ruiji.Net单机版的爬坑文章。我使用的Linux系统为CentOs7。


下载RuiJi.Net


VS2017发布Ruiji.Net


首先保证本机有.net core2.1的SDK 官方下载地址

https://download.microsoft.com/download/4/0/9/40920432-3302-47a8-b13c-bbc4848ad114/dotnet-sdk-2.1.302-win-gs-x64.exe


使用VS2017打开RuiJi.Net.sln

nuget自动还原依赖包

生成RuiJi.Net.Cmd,全部重新生成成功。


右键单机RuiJi.Net.Cmd发布,直接发布


发布成功后可以看到目录结果如下


还可以直接下载release发布版,直接省略编译发布步骤。

下载地址:https://pan.baidu.com喎�"//www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcy8xeFpGSUdUMUZGX3RvWHpzNDJxUExVdyNsaXN0L3BhdGg9JTJGUnVpSmkuTmV0JTJGUmVsZWFzZSDD3MLrZWY4ZDwvcD4NCjxwPtLyzqrV4rTO1rvKx7OiytSyv8rwtaW7+rDmo6zL+dLUvatydWlqaS5qc29uxeTWw87EvP7Q3rjEs8nWu9TL0NC1pbv6xKPKvaGjPGJyIC8+DQo8aW1nIGFsdD0="" src="//www.2cto.com/uploadfile/Collfiles/20180802/201808020938061430.png" title="\" />


上传项目到Linux系统


通过自己喜欢的各种方式放入Linux系统中,我使用的Xmanager Enterprise 5软件支持SFTP协议。

我上传到Linux的/usr/ruiji.net文件夹下,上传完毕看到如下效果。


安装.net core2.1 linux环境


微软官方文档介绍的方法直接安装成功


sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum update
sudo yum install dotnet-sdk-2.1


启动 RuiJi.Net


跳转到RuiJi.Net路径下


cd /usr/ruiji.net


执行


dotnet RuiJi.Net.Cmd.dll


本以为会启动成功,结果报错显示本机无IP4地址。

后来检索结果,可能跟我虚拟机配置有关。

修改/etc/hosts,添加本机地址指定hostname。

再次执行启动RuiJi.Net,成功搞定。


回到Windows系统 访问一下成功启动的地址看看效果

404无法访问,忘记开Linux防火墙端口了。


查询防火墙


firewall-cmd --zone=public --query-port=36000/tcp


结果返回no

永久开启文档80端口和RuiJi.Net36000端口,重新加载再次查询返回yes


firewall-cmd --zone=public --add-port=36000/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload


打开浏览器重新访问192.168.15.129:36000,成功进入后台管理系统,为了避免乱码或显示错误,最好使用谷歌内核浏览器浏览


添加一个动态页面测试抓取的示例,发现如果把RunJs勾选上就会报一下错误


查阅中文文档 //doc.ruijihg.com/cn/index.html

在目录安装》其他中发现有chromium使用的描述


按照文档说明下载chromium并解压到RuiJi.Net目录的chromium文件夹中


安装chrome-libs库


yum install chromium-libs.x86_64


并给与chromium文件夹最高权限


chmod -R 777 chromium


再次测试,成功运行酒仙网界面JS抓取动态界面成功。


我还使用POST请求测试了其他一些网站的信息。大家如果感兴趣可以自己去测试玩,去官方文档可以查询到RuiJi表达式相关写法,个人有一定的爬虫基础还是很简单的,无非就是css selector、jsonPath、regex。


开启开源中国的博客抓取,点击GrabResult选项卡查看抓取结果,大成功


自此,Linux部署RuiJi.Net 教程到此结束。

在运行RuiJi.Net时发现非常不方便,不可以关闭远程链接linux服务器的shell,一旦关闭那么RuiJi.Net也会停止运行。

我找到解决办法是使用supervisord守护进程来调用RuiJi.Net,以后有时间我会写一篇supervisord守护进程调用RuiJi.Net的教程。


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程