程序笔记   发布时间:2022-07-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了分布式爬虫部署,爬虫需要什么样的服务器配置,现在爬虫岗位都要会这个大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

####

做分布式爬虫和搜索引擎对于服务器配置有什么要求?

实验室要做主题爬虫,附带简单的搜索查询功能,现在要租用10~20台服务器,不知道什么配置好。我们之前使用了三台服务器(租用的阿里云),用nutch1.7+hdfs爬取8000个URL(两层深度)用了两个多小时,第三层达到了40万用了3天还没完全爬完,感觉很慢。服务器配置如下:- 服务器A:主节点CPU 4核,内存32G,20Mbps(峰值)公网带宽(按流量)- 服务器B,C:CPU 1核,2G内存,1Mbps公网带宽(固定带宽)其中服务器A既做主节点又做从节点,服务器B,C只做从节点。我有几点困惑:1.制约爬取速度的,是带宽还是cpu的处理能力?我看任务日志,在Nutch流程中fetch(连接并下载网页)这一步耗时最长,占据了绝大部分时间,是不是意味着带宽是主要瓶颈?2.关于一台2核4G1M的配置和2台1核2G1M的配置,哪个更好?为什么?(阿里云的阿里云推荐配置https://www.aliyun.com/easybuy)3.如果租用10~20台服务器,配置如何选择?使用标准配置还是加带宽,带宽如何选择

####

https://zhuanlan.zhihu.com/p/89548664

###

需要一个单独的redis服务器

安卓redis

启动redis

验证一下redis是可以连接的,

###

redis 搭建完

接着我们来搭建数据库的服务器

把 MongoDB 给装上

先连接到数据库的服务器上

下载 mongoDB

建个 db 文件夹

开启 mongodb这里顺便把 bind_ip 设置一下

这样才能被远程访问

使用本地连接试试,验证可以连接数据库,

#####

接着我们需要在爬虫服务器安装 Python3 环境

slave-02 和 slave-03 服务器

同上安装 python3

ok环境搭起来了

####

我们把它改成适用分布式的

将 Pipeline 中的数据库地址配置成我们创建的 mongodb 数据库地址

接着在 setTing 中配置redis 调度和去重

再设置一下延迟访问

设置delay有起码两个好处, 一个是对被爬对象表示礼貌, 另一个是爬的太快,很多服务器会封ip,或限制访问。

 

搞完了之后

将虚拟环境中的库打包一下,pip freeze > requirement.txt

接着把项目

都扔到爬虫服务器上去

连接到爬虫服务器

可以看到刚刚传来的文件

把刚刚在虚拟环境中生成的第三方库列表

在服务器上一顿安装

其它两台爬虫服务器

和上面一样安装所需要的库

都安装完之后

就终于可以都 TM 跑起来了

#####

4台机器开始一顿爬取

可以看到 mongodb 都监听到了这几台服务器的连接了

我们连到 redis 看看

可以看到scrapy-redis生成的键

可以看到

redis 在调度着请求的消息队列以及过滤重复的请求

再连接到 mongodb 看看

统计一下爬取到的数据,发现数据都是增加的,

###

ok以上就是分布式爬虫的搭建及部署的过程了

当然了

数据库还可以搭建一下集群数据库之间的连接最好设置账户进行安全访问等

主要还是让你了解这个过程中

分布式爬虫的搭建和使用以及体会它的可扩展性和高效性

###

 

 

######

大佬总结

以上是大佬教程为你收集整理的分布式爬虫部署,爬虫需要什么样的服务器配置,现在爬虫岗位都要会这个全部内容,希望文章能够帮你解决分布式爬虫部署,爬虫需要什么样的服务器配置,现在爬虫岗位都要会这个所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。