不懂就问:单线程的爬虫为什么很慢?
資深大佬 : maxhhg 6
我的网络很快,打开浏览器的网页也很快,但是我采用单线程的爬虫却很慢,究竟是因为什么原因?浏览器与爬虫访问网页有什么不同?(已经百度,网上有很多解释,但各种解释都很不明确)
大佬有話說 (9)
我的网络很快,打开浏览器的网页也很快,但是我采用单线程的爬虫却很慢,究竟是因为什么原因?浏览器与爬虫访问网页有什么不同?(已经百度,网上有很多解释,但各种解释都很不明确)
例如是翻页类的,总共 100 页,单线程就只能从 1 一直翻到 100 页
多线程,例如两个线程吧,那就能线程 1 负责 1-50 页,线程 2 负责 51-100 页(只是简化解释)
2.爬一个 100M 的内容,记录下每个元素的爬取时间。
3.把这 100M 的内容,放在本地,写个程序对它进行复制,同时记录下每个文件的复制时间.
4.对比 2 与 3 。
结果:浏览器对单线程快
单线程爬虫为什么慢
————————
假设场景:你需要爬取 100 个页面
1 个页面耗时:100ms
100 个页面耗时:100ms * 100 = 10s
根源:大量时间花费在 io 等待上
如何提升爬虫速度
————————-
1. 多线程 (内核态)
2. 协程(用户态)
爬虫对于 ssr 与 csr 网站的区别
——————————–
1.对于 csr 可以考虑使用 puppeteer