跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 不懂就问:单线程的爬虫为什么很慢?
未分類
19 1 月 2021

不懂就问:单线程的爬虫为什么很慢?

不懂就问:单线程的爬虫为什么很慢?

資深大佬 : maxhhg 6

我的网络很快,打开浏览器的网页也很快,但是我采用单线程的爬虫却很慢,究竟是因为什么原因?浏览器与爬虫访问网页有什么不同?(已经百度,网上有很多解释,但各种解释都很不明确)

大佬有話說 (9)

  • 資深大佬 : Aliencn

    浏览器可不是单线程的,浏览器还支持 http2 的推送。

  • 資深大佬 : zeroDev

    因为网络访问慢,你觉得快,是因为你不会一次性像爬虫一样开多个网页访问数据
    多线程爬虫是为了拿到大量数据存在的,比如一个页面 1s,爬虫要 1000 个页面,那就是 1000s,近 20 分分钟,如果你开多线程(比如 5 个吧,那就只有 4 分钟咯。
    当然,如果只是几个页面,那就无所谓了,单线程就单线程

  • 資深大佬 : czfy

    这和你爬什么类型的网页有关吧…

    例如是翻页类的,总共 100 页,单线程就只能从 1 一直翻到 100 页
    多线程,例如两个线程吧,那就能线程 1 负责 1-50 页,线程 2 负责 51-100 页(只是简化解释)

  • 資深大佬 : laminux29

    1.先思考一下爬虫的本质是什么。

    2.爬一个 100M 的内容,记录下每个元素的爬取时间。

    3.把这 100M 的内容,放在本地,写个程序对它进行复制,同时记录下每个文件的复制时间.

    4.对比 2 与 3 。

  • 資深大佬 : murmur

    如果你要是能有高效的反扒机制,单线程也可以做的很快

  • 資深大佬 : Orenoid

    JS 是单线程的,浏览器不是。
    单线程也可以很快,Python 里的协程,基于 IO 多路复用,可以并发地进行大量网络请求,快到你需要手动限制频率,防止被屏蔽。

  • 資深大佬 : wh1012023498

    浏览器 vs 单线程爬虫
    ————————
    浏览器:多个线程同时请求,线程有限制数量,可配置
    单线程爬虫:确确实实单线程

    结果:浏览器对单线程快

    单线程爬虫为什么慢
    ————————
    假设场景:你需要爬取 100 个页面
    1 个页面耗时:100ms
    100 个页面耗时:100ms * 100 = 10s

    根源:大量时间花费在 io 等待上

    如何提升爬虫速度
    ————————-
    1. 多线程 (内核态)
    2. 协程(用户态)

    爬虫对于 ssr 与 csr 网站的区别
    ——————————–
    1.对于 csr 可以考虑使用 puppeteer

  • 資深大佬 : yuzo555

    因为瓶颈不是机器性能,而是地球太大了

  • 資深大佬 : linw1995

    单线程可以快的,multiplex

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具