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

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

  •  
  •   iorilu · 12 天前 · 2447 次点击

    都说 python 最擅长爬虫

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

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

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

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

    感觉你可以说说你的整体目标是啥
    iorilu
        19
    iorilu  
    OP
       7 天前
    @Cy86 感谢你的分享

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

    我的目标是个国外网站, 毕竟国内网站碰了有风险, 数量也就几万到几十万之间的级别, 总之是想给自己找个项目实践下爬虫相关, 当然我的主要目的不仅仅是爬数据, 另外也想实践下我上面说的各种其他爬虫相关的技术要点
    Cy86
        20
    Cy86  
       6 天前
    @iorilu 那还是得上手干, 遇到问题处理完了之后再总结出一个通用方案, 爬虫最需要考虑的是反爬, 其他的都比较简单,没太多需要考虑的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2680 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 05:14 · PVG 13:14 · LAX 21:14 · JFK 00:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.