不久前在公司做了一个关于爬虫的分享,简单介绍了网络爬虫的基础知识、爬虫的运作方式、抓取策略、攻防方式以及如何使用 NodeJS 进行爬虫开发, 在这里分享给各位同学分享一下~
一、爬虫简介
二、爬虫的运作方式
三、抓取策略
(1)深度优先搜索
(2)广度优先搜索
四、爬虫攻防之爬虫与反爬虫
1、校验用户户请求的Headers
反爬虫策略:
对Headers的User-Agent进行检测对Referer进行检测应对方式:
将浏览器的User-Agent复制到爬虫的Headers中将Referer值修改为目标网站域名2、基于用户行为反爬虫
反爬虫策略:
监控同一IP短时间内多次访问同一页面监控同一账户短时间内多次进行相同操作应对方式:
使用IP代理,每请求几次更换一个 ip控制请求的速率,增加时间间隔黑科技:Baiduspider+3、动态页面的反爬虫
反爬虫策略:
验证码ajax 加密应对方式:
phantomJS(无界面 webkit 内核浏览器)Headless Chrome (无界面 chrome 浏览器)五、如何使用 NodeJS 进行爬虫开
1、请求
requestsuperagent2、分析
cheerio3、url处理
url (Node.js 标准库包含了该模块)4、控制并发
eventproxy目标源较少,用于汇总数据async目标源较多或者不确定,需要使用队列,并且控制并发数5、数据存储
sqliteneo4j其他关系型、非关系型数据库看完上面的 PPT和介绍,对爬虫可以说是有了一个简单的了解了,如果有同学想继续深入研究使用 NodeJS 进行爬虫开发,或者说想跟我一样,用 NodeJS 写一些好玩的东西的话,可以随时来找我交流哦,我们互相学习,共同进步,欢迎来撩~
欢迎关注我的:「皮蛋菌丶」,欢迎来撩。