爬虫(Spider),反爬虫(Anti-Spider)
前言:网络爬虫(Spider或Crawler),顾名思义,就是在互联网上爬行的虫子,那么这只虫子为什么要在网上爬行呢?很简单:收集信息。在互联网时代,谁掌握了信息谁就把握了主动权。
一,爬虫部分一些简单建议:
(1)尽量减少请求次数,
(2)能抓列表页就不抓详情页,
(3)减轻服务器压力
(4)如果真的对性能要求很高,可以考虑多线程(一些成熟的框架如 Scrapy都已支持),甚至分布式。
二,反爬策略:
(1)反爬:通过user-agent来判断是否是爬虫。
反反爬 :可以通过伪装请求头中的user-agent来解决。
(2)反爬:将ip进行封杀。
反反爬 :可以通过代理来伪装ip
(3)反爬:通过访问频率来判断是否是一个爬虫。
反反爬 :可以通过设置请求间隔,和爬取间隔。
(4)反爬:当一定时间内的总请求数超过上限,弹出验证码
反反爬 :可以通过解决验证码来破解。
(5)反爬:通过js来获取页面数据。
反反爬 : 页面数据通过selenium+phantomjs来获取。