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
Henrysun
V2EX  ›  Python

初学者对于 Python 爬虫的小疑惑

  •  
  •   Henrysun · 1 天前 · 483 次点击

    最近在学习 python 爬虫:使用 pyrequests 对一个文档中的 url 逐行进行前端数据爬取,再通过 Beautifulisoup 简单处理后输出到本地 txt 中。

    但是在执行过程中发现平均 3s-5s 才能处理完成一个 url,是因为我的脚本流程问题,还是其他原因?希望有大佬可以解答一下,非常感谢

    10 条回复
    NessajCN
        1
    NessajCN  
       1 天前
    爬虫这种典型的重 io 任务当然应该开多 threading 或协程一起跑
    你是这么爬的吗
    Henrysun
        2
    Henrysun  
    OP
       1 天前
    @NessajCN 我没有使用 threading 或协程,所以其实是因为我的脚本在进行大量重复的 io 任务,才拖慢了脚本的运行速度吗
    Outclass
        3
    Outclass  
       1 天前
    应该访问 URL 需要时间吧,尝试多线程处理
    CassianAndor
        4
    CassianAndor  
       1 天前
    多线程 req 不会被风控吗...
    me007
        5
    me007  
       1 天前
    初学就这样挺好的。 你如果加快那么基本出发风控,初学解决不了,直接任何信息都获取不到
    Emi1
        6
    Emi1  
       1 天前
    “文档中的 url ” 是一个域名下面的吗,那就别多线程,最好加 sleep
    coderluan
        7
    coderluan  
       1 天前
    你加个时间戳啊,哪个步骤慢哪个步骤有问题。
    NoOneNoBody
        8
    NoOneNoBody  
       1 天前   ❤️ 1
    正常的
    “再通过 Beautifulisoup 简单处理后输出到本地 txt 中”
    这部份不到 0.5 秒,就是说 2.5s 完成网络请求算快的了

    不急着需要的话,单线程也没所谓,我很多时候为了防反爬,还要 sleep 几秒呢
    Henrysun
        9
    Henrysun  
    OP
       1 天前
    @NoOneNoBody 明白了 感谢,其实也不着急需要,就是因为不清楚大家的情况,所以以为是我这边流程有问题,再次感谢

    @Emi1 是一个域名下的,明白了,感谢

    @me007 明白了,是我有点盲目求快了,感谢
    yasea
        10
    yasea  
       1 天前
    轻量的推荐 Playwright + Asyncio
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1098 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 108ms · UTC 19:10 · PVG 03:10 · LAX 11:10 · JFK 14:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.