V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
snake8090
V2EX  ›  Python

小白写了个壁纸的爬虫,能跑起来,但是感觉很慢,不知道怎么回事,请大佬指点

  •  
  •   snake8090 · 2019-07-14 12:11:59 +08:00 · 3686 次点击
    这是一个创建于 1720 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我知道命名很烂,轻喷,全靠字典直译的! 弄了两个小时才弄出来个 gist 链接,第一次用,凑合看吧

    https://gist.github.com/snake1080/817242ef0c0828d7eb3c20692ec2b2c1

    17 条回复    2019-07-15 19:00:41 +08:00
    Buges
        1
    Buges  
       2019-07-14 12:14:36 +08:00 via Android
    多线程并发
    arrow8899
        2
    arrow8899  
       2019-07-14 12:16:20 +08:00
    感觉慢?? debug 下不就知道哪慢了吗
    locoz
        3
    locoz  
       2019-07-14 13:00:02 +08:00 via Android
    因为发请求的时候没有并发,每一个图片在下载的时候必须要等待上一个图片的下载流程结束
    Raisu
        4
    Raisu  
       2019-07-14 13:05:54 +08:00
    楼主代码太乱了
    Hopetree
        5
    Hopetree  
       2019-07-14 13:07:42 +08:00 via iPhone
    IO 密集型用多线程
    snake8090
        6
    snake8090  
    OP
       2019-07-14 15:20:24 +08:00
    @Buges
    @locoz
    @Hopetree
    刚接触 python 两三个月,什么是多线程并发?
    cherbim
        7
    cherbim  
       2019-07-14 15:28:50 +08:00 via iPhone
    @snake8090 哈哈哈哈哈,简单看了一下,你的脚本是下完一张图片后才开始下第二张,能不慢么,去看看多线程吧,让他同时多个照片下载
    snake8090
        8
    snake8090  
    OP
       2019-07-14 15:30:19 +08:00
    @cherbim 正在搜索什么是 多线程 哈哈
    whoami9894
        9
    whoami9894  
       2019-07-14 15:38:22 +08:00 via Android
    有什么好问的,去补基础
    Dart
        10
    Dart  
       2019-07-14 19:21:35 +08:00 via Android
    小白多进城 即可
    cwjokaka
        11
    cwjokaka  
       2019-07-14 19:27:12 +08:00
    用多线程,顺便再安利一波我的 https://github.com/cwjokaka/bilibili_member_crawler 里面也用了多线程
    cwjokaka
        12
    cwjokaka  
       2019-07-14 19:42:58 +08:00
    https://github.com/piglei/one-python-craftsman 再介绍一个别人(大佬)的项目,是关于编码习惯和 python 技巧的。内容很少但很精炼,我也是看完才动手写项目的
    Perterually
        13
    Perterually  
       2019-07-15 09:15:11 +08:00
    2333....一路循环...我看到了我第一次写爬虫时候的风格
    Atukey
        14
    Atukey  
       2019-07-15 09:28:06 +08:00
    只要不怕 IP 被拉黑
    多线程 多进程 并发
    snake8090
        15
    snake8090  
    OP
       2019-07-15 10:25:14 +08:00
    @cwjokaka 多谢 正在找多进程的基础教程看
    txy3000
        16
    txy3000  
       2019-07-15 13:05:44 +08:00
    去看看 asyncio 和 asynchttp
    locoz
        17
    locoz  
       2019-07-15 19:00:41 +08:00
    @snake8090 刚在我公众号上推了篇文章,讲怎么改你这个代码的,可以看看: https://mp.weixin.qq.com/s/ZDsoEVY0T2GI9E34dkfUZw
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2657 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 77ms · UTC 15:21 · PVG 23:21 · LAX 08:21 · JFK 11:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.