推荐学习书目
› 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
iorilu
V2EX  ›  Python

最近想搞个爬虫爬点东西, 目前 Python 那个框架最好用呢

  •  
  •   iorilu · Jan 5, 2025 · 9260 views
    This topic created in 667 days ago, the information mentioned may be changed or developed.

    都说 python 最擅长爬虫

    但实际上我以前没啥需求, 没怎么实践过

    请推荐下实际生产项目中好用的爬虫框架或方案

    24 replies  •  2025-03-01 20:38:06 +08:00
    xiaoriri666
    xiaoriri666
    Jan 5, 2025
    1
    用 Scrapy 爬虫主要还是加解密其实跟语言的关系不大
    xiebow
    xiebow
    Jan 5, 2025
    2
    scrapy +1
    4BVL25L90W260T9U
    4BVL25L90W260T9U
    Jan 5, 2025
    3
    爬虫不需要框架,选个 http 请求库可能更重要,比如 curl-cffi
    Emma24
    Emma24
    Jan 5, 2025
    4
    入门:爬过时的数据
    进阶:爬已有的数据
    天堂:爬实时的数据
    地狱:爬没有的数据
    nyxsonsleep
    nyxsonsleep
    Jan 5, 2025
    5
    已经有人说 scrapy 了,那我加一个 playwright
    simple2025
    simple2025
    Jan 5, 2025
    6
    直接硬爬?
    iorilu
    iorilu
    OP
    Jan 5, 2025
    7
    @ospider 爬虫重点是处理一些和爬数据无关的东西, 比如可能要突破一些访问限制, 需要登陆, 代理轮询, 执行 js, 错误重试等等

    所以我希望有开发过大型实际爬虫项目的说说经验
    luzihang
    luzihang
    Jan 6, 2025
    8
    自己写脚本-->使用 feapder scrapy ……-->遇到问题具体问题,自己写脚本框架,scrapy 也用,主要看解决什么问题和开发速度而定
    Cy86
    Cy86
    Jan 6, 2025
    9
    我觉得 requests 应该够了吧, 直接把接口抓出来比较简单,我最近也在鼓捣爬虫练手, 你这是要爬啥网站呢
    randy552162
    randy552162
    Jan 6, 2025
    10
    @iorilu 你说的这些好像都跟框架没啥关系,哪个框架都要你自己处理一下这些问题
    yinft
    yinft
    Jan 6, 2025❤️1
    11
    其实没必要非纠结库,整个过程无非就是 构建请求-->解析数据-->存储存储。基于 aiohttp 随便玩
    iorilu
    iorilu
    OP
    Jan 6, 2025
    12
    @randy552162 有框架能处理部分这种问题的 , 当然了, 具体还要看怎么实践, 爬虫这东西其实细节很多, 爬 10 条数据和爬 1 万条完全两回事的
    llsquaer
    llsquaer
    Jan 6, 2025
    13
    按照你这个要求其实不用框架,用框架反而增加负担,直接 requests 手撸开始。写多了,慢慢的你就写成自己的框架了。
    adaonline
    adaonline
    Jan 6, 2025
    14
    自己手撸起来就行了
    brianXGOGO
    brianXGOGO
    Jan 6, 2025
    15
    DrissionPage 好用
    fanjk
    fanjk
    Jan 6, 2025
    16
    我基本都是 requests 直接搞,不同的项目只需要替换对应的数据处理模块就行
    iorilu
    iorilu
    OP
    Jan 9, 2025
    17
    @fanjk 那你除了抓数据用 requests 其他还用什么爬虫相关框架或库吗, 还是说全部自己开发的
    Cy86
    Cy86
    Jan 10, 2025
    18
    楼主不理我,我再捞一下, 目前我负责的爬虫抓取量每天在百万级, 月抓取量在亿级,主做舆情的
    推荐:
    百条用 requests 就行
    几十万条有时效性就 aiohttp
    同一个网站大量数据, scrapy 和 feapder 都可以
    上亿条自己开发爬虫框架
    你说的这几个问题: 访问限制, 需要登陆, 代理轮询, 执行 js, 错误重试
    访问限制, 需要登陆: 对于反爬都是针对目标单独定制的,市面上没有能包含所有反爬的的框架
    代理轮询最简单的就自己整个队列, 每次爬虫轮着取代理 ip, 对于账号绑定 IP 的,就单独开个服务针对要爬的渠道固定 IP
    执行 js 可以单独作为一个服务旁运行, 需要执行的 js 扔进去只关注返回结果就好

    感觉你可以说说你的整体目标是啥
    iorilu
    iorilu
    OP
    Jan 10, 2025
    19
    @Cy86 感谢你的分享

    我不是主做爬虫业务的 ,只是最近个人有个想法, 另外想实践下

    我的目标是个国外网站, 毕竟国内网站碰了有风险, 数量也就几万到几十万之间的级别, 总之是想给自己找个项目实践下爬虫相关, 当然我的主要目的不仅仅是爬数据, 另外也想实践下我上面说的各种其他爬虫相关的技术要点
    Cy86
    Cy86
    Jan 11, 2025
    20
    @iorilu 那还是得上手干, 遇到问题处理完了之后再总结出一个通用方案, 爬虫最需要考虑的是反爬, 其他的都比较简单,没太多需要考虑的
    linxiaojialin
    linxiaojialin
    Jan 24, 2025
    21
    @Cy86 请问一下,发起请求能跑满上行带宽的吗?用 aiohttp 单进程跑,好像也只有几 M 上行
    godall
    godall
    Jan 26, 2025
    22
    @Cy86 #18 有没有处理过网页请求指纹加密的处理?比如京东的价格保护,以前直接访问 url ,然后自己浏览器登录后 cookie 保存,然后提交每天跑就行了,现在不行了,他有个 t 的时间戳,超过一定时间比如 10 小时后就无效了,必须用新的时间戳加上本机指纹数据形成一个 h5st 的数据包作为 form 表单数据才行,难道要自己破解他的加密算法?
    godall
    godall
    Jan 26, 2025
    23
    对于防爬虫的网站,我发现最后只能用 seliunium 模拟浏览器访问了,就是效率太差,但其他一概都搞不定。。。。
    sead
    sead
    Mar 1, 2025
    24
    @godall https://github.com/seadfeng/headless-browser-clusters

    最早用无头,感觉确实效率很低, 后面再次尝试用,其实没那么糟糕;碰到硬茬逆向搞不定能有什么办法
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1958 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 111ms · UTC 00:04 · PVG 08:04 · LAX 16:04 · JFK 19:04
    ♥ Do have faith in what you're doing.