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

不知道这个问题是属于爬虫问题还是属于服务器问题?想请教下,爬二级页面的问题

  •  
  •   Colorful · 2020-05-16 11:19:13 +08:00 · 1911 次点击
    这是一个创建于 1412 天前的主题,其中的信息可能已经有所发展或是发生改变。

    实际情况是这样的 在爬取二级页面的时候,我在浏览器里面发现,每个二级页面都会请求 10 个接口

    假如说,我现在不爬取这个二级页面,改为爬虫这个接口,去请求 3 个接口

    那么是直接爬取二级页面对服务器压力大?还是直接去请求那三个接口对服务器压力会大一点? 我不太懂原理这块,想了解一下

    12 条回复    2020-05-16 19:56:13 +08:00
    2bNot2b
        1
    2bNot2b  
       2020-05-16 11:23:44 +08:00
    那肯定是爬页面服务器压大啊
    Colorful
        2
    Colorful  
    OP
       2020-05-16 11:26:57 +08:00
    @2bNot2b 你是说直接爬取二级页面?
    keepeye
        3
    keepeye  
       2020-05-16 11:34:59 +08:00
    你以什么方式请求二级页面呢?
    Colorful
        4
    Colorful  
    OP
       2020-05-16 11:37:52 +08:00
    @keepeye 列表页面里面有 url 直接通过 url 请求
    jugelizi
        5
    jugelizi  
       2020-05-16 11:40:18 +08:00 via iPhone   ❤️ 1
    楼上是问你用 requests 还是 webdriver
    Colorful
        6
    Colorful  
    OP
       2020-05-16 11:41:55 +08:00
    @jugelizi 用的 scrapy
    Colorful
        7
    Colorful  
    OP
       2020-05-16 11:42:09 +08:00
    @jugelizi requests
    keepeye
        8
    keepeye  
       2020-05-16 11:48:38 +08:00
    @Colorful 如果你的数据要通过接口获取,那么你用 requests 请求二级页面也拿不到数据啊,你只能拿到一个 html 而已,就产生了一次请求,可能还是 cdn 的,对服务器来说肯定是这种情况压力小啊
    2bNot2b
        9
    2bNot2b  
       2020-05-16 11:50:53 +08:00
    @Colorful 如果是用 webdriver 之类的爬取的话,相当于是打开页面,页面多次请求接口(这个是请求数最多的);如果使用 requests 之类的直接 get 二级页面的话,就只有一次请求;如果你直接用 requests 请求接口 也是只有一次请求
    Colorful
        10
    Colorful  
    OP
       2020-05-16 11:51:46 +08:00
    @keepeye
    @2bNot2b

    理解了,太感谢了
    imn1
        11
    imn1  
       2020-05-16 12:15:41 +08:00
    肯定应该请求接口,除非你不知道接口的 url (变化的 url ),要从页面解析出来
    单纯获取页面得不到数据,还要继续获取接口

    但你的问题是问哪个压力大,那就答案相反
    dallaslu
        12
    dallaslu  
       2020-05-16 19:56:13 +08:00
    有接口当然用接口啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1001 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:53 · PVG 03:53 · LAX 12:53 · JFK 15:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.