文档章节

分布式爬虫共享cookies 方案分析

HZCoder
 HZCoder
发布于 2017/06/06 10:20
字数 300
阅读 32
收藏 0

在采集需要登录的网站时,需要httpclient 保持cookies

单节点情况下可以设计cookie 缓存在内存中,每次使用从缓存中获取,分布式爬虫每次采集请求可能分发到不同的机器上,便会导致请求失败

 

  • 根据缓存启发 可以把本地cookie 缓存改写成 缓存服务,多台机器从缓存服务获取cookie

      本地缓存可以保存某个client  ,免去每次请求组装client  ,改写的线上缓存服务也可以直接提供client

      

 

  • 将cookie 存入数据库(redis)不同机器从数据库获取cookie

       cookies 是一组key -value 值,记录用户状态

       可以使用数据保存,设计一个数据结构保存每次请求之后的cookie 到redis  并本剧 cookie  失效时间

       设置失效时间

 

相比之下,redis 共享方案代码量更少,实现更便捷。

缓存服务功能更加强大,扩展性更好

 

如果遇到网站记录登录ip 就需要 访问使用同一个ip

 

 

 

© 著作权归作者所有

HZCoder
粉丝 8
博文 44
码字总数 19712
作品 0
杭州
程序员
私信 提问
实战 Python 网络爬虫:美团美食商家信息和用户评论

实战 Python 网络爬虫 美团美食商家信息和用户评论 作者简介: Hyx,多年系统研发经验,主要从事机器人流程系统研发、大数据系统研发、网络爬虫研发以及自动化运维系统开发。 擅长使用 Pyth...

GitChat技术杂谈
2018/11/15
0
0
python-02:学习路线

随时更新的学习路线 1. python基础知识 麦子学院的几个短视频 python 爬虫基础 2. 以python爬虫作为入手点深入学习 1. 爬虫基础知识,最简单的爬虫程序,理解最简单的爬虫程序 2. 丑事百科实...

达岭凹老大
2015/11/23
291
0
python-37: 模拟登录

我们通过前面的两个实例讲解了爬虫的简单应用,但是在很多网站中,你将会发现你写的所有代码都没有用 因为你没有登录 登录网站是一种很常见的行为,就拿百度贴吧来说,你需要先登录才能发贴回...

达岭凹老大
2015/12/01
171
0
浅谈用户行为分析之用户身份识别:cookie 知多少?

对于数据统计分析或者数据挖掘而言,用户是个非常重要的维度,也是统计分析能落地的基础。一般而言,咱们追踪或者识别一个用户的首选方案是 userID,大多数公司的产品都会要求用户注册、登录...

xrzs
2015/10/25
5.8K
6
memcached 缓存数据库应用实践

1.1 数据库对比 缓存: 将数据存储到内存中,只有当磁盘胜任不了的时候,才会启用缓存    缺点:断电数据丢失(双电),用缓存存储数据的目的只是为了应付大并发的业务。 数据库: mysql(关系...

侯召顺
2017/12/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
43分钟前
64
1
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
9
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部