2018.3.5
爬虫和反爬虫的斗争
==================================================
爬虫程序
1)编写爬虫代码,发起请求,接收响应,获得数据
2)在发起请求时,添加User-agent字段,设置请求间隔。
3)发送请求的时候,使用代理ip,设置请求间隔
4)注册网站账户,模拟cookie/token登录,发起请求
5)使用云代码平台进行验证
6)1.抓取js请求,模拟发送 2.selenium完全模拟用户操作行为,操作网页
服务器反爬虫
1)监控到某一时段,访问量突然增大,对User-Agent字段进行判断
2)发起请求的ip地址相同,访问速率过高,限制ip和ip访问频率
3)健全账号系统,只有相互关注的账户才能相互访问
4)发现请求过于频繁,弹出验证码
5)增加动态页面,比较重要的数据使用js发起请求动态加载
6)现无办法继续禁止爬虫
====================================================
爬虫的目的:
1)获取数据,填充公司的数据库,可以用来做测试按数据,也可以直接使用
2)通过爬虫爬取大量数据,用来做搜索引擎
3 )通过爬虫爬取数据,做数据采集和数据分析的工作作
4)通过爬虫爬取数据,用用户作训练模拟,做人工智能机器人训练
反爬虫的目的:
1)针对初级爬虫,简单粗暴,不会考虑服务器压力,导致服务器瘫痪。
2)针对失控的爬虫,爬虫的数据量比较多,忘记关闭爬虫程序,同样导致服务器压力过大
3)防止同行爬取公司重要的数据,防止同行恶意竞争