Skip to content

shifengdiy/node-spider

Repository files navigation

node-spider

a spider project based node

概览

使用爬虫技术,按热度爬取了豆瓣电影列表的一万部电影,按照基本信息存为json格式,以后可能转为其他格式数据

使用技术栈

网络模块 axios完成网络查询请求,DOM操作使用cheerio模块 关于时间间隔使用 async await异步机制,控制时间间隔

关于总结

  1. 控制查询次数和时间间隔,减轻服务器压力,延长时间间隔,在半夜查询,避免反爬虫的禁止爬取
  2. 能够成功查询的关键是伪造消息头,经过多次尝试才能成功查询
  3. 数据的获取和存储渐进进行,做数据保护,在查询出错之后能够发起重试,避免程序中断

注意事项

  1. 这个爬取的是豆瓣的按照热度排行的一万部电影,豆瓣站点一直有反爬虫机制,所以爬取不能过于频繁,注意时间间隔
  2. 对于时间间隔问题,爬取的电影详情间隔尤为注意,太快的话会被禁止爬取,多次尝试之后,发现60s这个间隔应该刚好可以被允许的,你也可以手动调整时间间隔
  3. 注意消息头的伪造问题,多尝试使用异常捕获,即使没有全部爬取,将已经爬取的部分信息保存下来,同时记录问题原因
  4. 爬虫道德, 多review代码,做小额量的测试,不要直接执行大型任务,对爬取服务器造成困扰和自己无谓的时间消耗

About

a spider project based node

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published