当前位置: 首页 > news >正文

godaddy服务器做网站石家庄网站建设策略

godaddy服务器做网站,石家庄网站建设策略,网站开发项目进度完成表,聊城网站定制官方站点:GitHub - rmax/scrapy-redis: Redis-based components for Scrapy. scrapy-redis的官方文档写的比较简洁,没有提及其运行原理,所以如果想全面的理解分布式爬虫的运行原理,还是得看scrapy-redis的源代码才行。 scrapy-r…

官方站点:GitHub - rmax/scrapy-redis: Redis-based components for Scrapy.

scrapy-redis的官方文档写的比较简洁,没有提及其运行原理,所以如果想全面的理解分布式爬虫的运行原理,还是得看scrapy-redis的源代码才行。

scrapy-redis工程的主体还是是redis和scrapy两个库,工程本身实现的东西不是很多,这个工程就像胶水一样,把这两个插件粘结了起来。下面我们来看看,scrapy-redis的每一个源代码文件都实现了什么功能,最后如何实现分布式的爬虫系统:

  1. connection.py

负责根据setting中配置实例化redis连接。被dupefilter和scheduler调用,总之涉及到redis存取的都要使用到这个模块。


# 这里引入了redis模块,这个是redis-python库的接口,用于通过python访问redis数据库,
# 这个文件主要是实现连接redis数据库的功能,这些连接接口在其他文件中经常被用到import redis
import sixfrom scrapy.utils.misc import load_objectDEFAULT_REDIS_CLS = redis.StrictRedis# 可以在settings文件中配置套接字的超时时间、等待时间等
# Sane connection defaults.
DEFAULT_PARAMS = {'socket_timeout': 30,'socket_connect_timeout': 30,'retry_on_timeout': True,
}# 要想连接到redis数据库,和其他数据库差不多,需要一个ip地址、端口号、用户名密码(可选)和一个整形的数据库编号
# Shortcut maps 'setting name' -> 'parmater name'.
SETTINGS_PARAMS_MAP = {'REDIS_URL': 'url','REDIS_HOST': 'host','REDIS_PORT': 'port',
}def get_redis_from_settings(settings):"""Returns a redis client instance from given Scrapy settings object.This function uses ``get_client`` to instantiate the client and uses``DEFAULT_PARAMS`` global as defaults values for the parameters. You canoverride them using the ``REDIS_PARAMS`` setting.Parameters----------settings : SettingsA scrapy settings object. See the supported settings below.Returns-------serverRedis client instance.Other Parameters----------------REDIS_URL : str, optionalServer connection URL.REDIS_HOST : str, optionalServer host.REDIS_PORT : str, optionalServer port.REDIS_PARAMS : dict, optionalAdditional client parameters."""params = DEFAULT_PARAMS.copy()params.update(settings.getdict('REDIS_PARAMS'))# XXX: Deprecate REDIS_* settings.for source, dest in SETTINGS_PARAMS_MAP.items():val = settings.get(source)if val:params[dest] = val# Allow ``redis_cls`` to be a path to a class.if isinstance(params.get('redis_cls'), six.string_types):params['redis_cls'] = load_object(params['redis_cls'])# 返回的是redis库的Redis对象,可以直接用来进行数据操作的对象return get_redis(**params)# Backwards compatible alias.
from_settings = get_redis_from_settingsdef get_redis(**kwargs):"""Returns a redis client instance.Parameters----------redis_cls : class, optionalDefaults to ``redis.StrictRedis``.url : str, optionalIf given, ``redis_cls.from_url`` is used to instantiate the class.**kwargsExtra parameters to be passed to the ``redis_cls`` class.Returns-------serverRedis client instance."""redis_cls = kwargs.pop('redis_cls', DEFAULT_REDIS_CLS)url = kwargs.pop('url', None)if url:return redis_cls.from_url(url, **kwargs)else:return redis_cls(**kwargs)
http://www.yayakq.cn/news/355370/

相关文章:

  • 建站视频wordpress ajax顶踩
  • 网站的站点建设分为android开发软件下载
  • 建设一个收入支出持平的网站工地模板
  • 河南南阳油田网站建设自己买个服务器做网站
  • 网站规划怎么做做网站好
  • .win域名做网站怎么样上海本土互联网公司
  • 群艺馆网站建设方案网站建设公司新员工培训ppt
  • 武威做网站网站建设合同模板下载
  • 网站排名英文wordpress 小影
  • 服务器禁止ip访问网站微信公众号 小程序
  • 丹东淘宝做网站网站建设的发展目标
  • 做网站前端程序员舟山市建设工程造价管理协会网站
  • 住房建设厅网站开工作室做网站怎样找资源
  • 企业官网建站联系我们ps毕业设计做网站界面
  • 公司网站制作的公司网站建设公司好做吗
  • 电脑网站开发学习网站设计课程总结
  • 模板网站可以做优化做产地证需要备案上哪个网站
  • 家居行业网站建设网站建设中的咨询服务
  • 郑州市建设工程造价信息网站一个人开发一个网站需要多久
  • 网站建设的相关技术方案网站托管服务适用于哪种类型的网站
  • 简单的做图网站海安县建设局网站
  • php源码网站后台面密码忘了在哪能找回密码云南小程序开发制作公司
  • wordpress 手工升级关键词优化ppt
  • 四大商业网站网站建设贰金手指下拉壹玖
  • 关于做情侣的网站的图片网站访问工具
  • 企业网站的建设有哪些经典问题坪山网站建设信息
  • 企业网站制作费做分录网络营销的特点中任何时间任何地点体现的是
  • 我的专业网站建设策划书如何创建小程序
  • html5网站抓取建设网站的意义作用是什么
  • 深圳建站公司有推荐的公司吗小程序电商平台排名