爬虫知多少-(NodeJS 爬虫)

                                        爬虫知多少-(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、请求

  • request
  • superagent

2、分析

  • cheerio

3、url处理

  • url (Node.js 标准库包含了该模块)

4、控制并发

  • eventproxy
    目标源较少,用于汇总数据
  • async
    目标源较多或者不确定,需要使用队列,并且控制并发数

5、数据存储

  •  sqlite
  • neo4j
  • 其他关系型、非关系型数据库

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值