招聘频道
当前位置:首页 > 名企招聘 > 面试题 > 面对反爬虫,如何解决

面对反爬虫,如何解决

时间:2018-08-17 13:05:17作者:

你遇到过反爬虫么,怎么解决的
源网站一般会有下面几种限制
1、一定时间内单个IP访问次数,一个正常用户访问网站,除非是随意的点着玩,否则不会在一段持续时间内过快访问一个网站,持续时间也不会太长,我们可以采用大量不规则代理ip形成一个线程池,随机从代理池中选择代理,模拟访问。代理有两种,透明代理和匿名代理。
2、一定时间内单个账号访问次数,如果一个人一天24小时都在访问一个数据接口,而且速度非常快,那就有可能是机器人。我们可以采用大量行为正常的账号,行为正常就是普通人怎么在社交网站上的操作,并且单位时间内,访问url数目尽量减少,可以每次访问中间间隔一段时间,这段时间可以是一个随机量,即每次访问完一个url,随机睡眠一段时间,在接着访问下一个url。
3、如果能把账号和ip的访问策略控制好,就可以了当然对方网站也会有运维需要调整策略,敌我双方的一次较量,爬虫必须要感知到对方的反盗控将会对我们有影响,通知管理员及时处理。其实最理想的是能够通过机器学习,智能的实现反盗控制,实现不间断抓取

你们用scrapy爬取,怎么爬的
Scrapy主要包括了以下组件:
• 引擎:用来处理整个系统的数据流处理,触发事务。
• 调度器:用来接受引擎发过来的请求,压入队列中,并在引擎再次请求的时候返回。
• 下载器:用于下载网页内容,并将网页内容返回给蜘蛛。
• 蜘蛛:蜘蛛是主要干活的,用它来制订特定域名或网页的解析规则。
• 项目管道:负责处理有蜘蛛从网页中抽取的项目,他的主要任务是清晰、验证和存储数据。当页面被蜘蛛解析后,将被发送到项目管道,并经过几个特定的次序处理数据。
• 下载器中间件:位于Scrapy引擎和下载器之间的钩子框架,主要是处理Scrapy引擎与下载器之间的请求及响应。
• 蜘蛛中间件:介于Scrapy引擎和蜘蛛之间的钩子框架,主要工作是处理蜘蛛的响应输入和请求输出。
• 调度中间件:介于Scrapy引擎和调度之间的中间件,从Scrapy引擎发送到调度的请求和响应。
使用Scrapy可以很方便的完成网上数据的采集工作,它为我们完成了大量的工作,而不需要自己费大力气去开发。

知道referer么
是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器藉此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。
你觉得python对于多线程的支持怎么样、
Python虚拟机使用GIL(Global Interpreter Lock,全局解释器锁)来互斥线程对共享资源的访问,暂时无法利用多处理器的优势。
在语言层面,Python对多线程提供了很好的支持,Python中多线程相关的模块包括:thread,threading,Queue。可以方便地支持创建线程、互斥锁、信号量、同步等特性。
graphite了解么
是一个Python写的web应用,采用django框架,Graphite用来进行收集服务器所有的即时状态,用户请求信息,Memcached命中率,RabbitMQ消息服务器的状态,Unix操作系统的负载状态,Graphite服务器大约每分钟需要有4800次更新操作,Graphite采用简单的文本协议和绘图功能可以方便地使用在任何操作系统上。

 


学习大数据敬请关注魔据教育微信二维码。
魔据教育微信二维码

【版权与免责声明】如发现内容存在版权问题,烦请提供相关信息发邮件至kefu@mojuedu.com,我们将及时沟通与处理。本站内容除非来源注明魔据教育,否则均为网友转载,涉及言论、版权与本站无关。

全国咨询热线:400-690-5006,值班手机:18501996998(7*24小时)

在线咨询:李老师QQ(226594285),陈老师QQ(428683440)

企业合作服务专线:010-82340234-821, 院校合作洽谈专线:010-82340234

Copyright 2001-2017 魔据教育 - 北京华育兴业科技有限公司 版权所有,京ICP备17018991号-2

免费在线咨询立即咨询

免费索取技术资料立即索取

大数据技术交流QQ:226594285

电话咨询010-82340234