Skip to content

yangyuexiong/AioSpider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

AioSpider

基于asyncio与aiohttpp的异步爬虫

百度贴吧异步爬虫

├── BaiduTeiba
│   ├── AioBaiduSpider.py    ------>异步爬虫
│   ├── PlainBaiduSpider.py  ------>普通爬虫
│   ├── ThreadBaiduSpider.py ------>多线程爬虫
│   ├── aio_post.json
│   ├── plain_post.json
│   └── thread_post.json
└── README.md

普通爬虫用于耗时上对比性能的区别

经过对比爬取5页各3次中所有帖子耗时如下:

多线程爬虫:

  • 帖子数量: 246 耗时:9.46秒
  • 帖子数量: 245 耗时:7.29秒
  • 帖子数量: 245 耗时:8.64秒

异步爬虫:

  • 帖子数量: 245 耗时:10.91秒
  • 帖子数量: 245 耗时:10.90秒
  • 帖子数量: 245 耗时:9.89秒

普通爬虫:

  • 帖子数量: 245 耗时:46.88秒
  • 帖子数量: 245 耗时:42.93秒
  • 帖子数量: 245 耗时:42.70秒

总结:

  • 多线程爬虫的效率较高
  • 异步爬虫(即:单线程协程)效率也高,而且在执行IO操作时会比多线略优,缺点:不能用于较多密集计算的场景下
  • 普通爬虫效率较低不能在大量的数据爬取的场景下使用,耗费时间/资源

About

基于asyncio与aiohttp的异步爬虫

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages