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

爬虫遇到在浏览器中刷新三次页面才能打开的网站

  •  
  •   ranlele · 2019-07-08 14:59:02 +08:00 · 3191 次点击
    这是一个创建于 1991 天前的主题,其中的信息可能已经有所发展或是发生改变。
    爬虫遇到在浏览器中刷新三次页面才能打开的网站怎么办,第一次刷新,粉丝,关注,作品全是 null,第二次也是 null,第三次刷新才能拿到具体的数值,有大佬分享下思路吗? https://live.kuaishou.com/profile/3xsm4gufvu5cfhm
    第 1 条附言  ·  2019-07-08 15:30:05 +08:00
    带着 session,访问三次,依然获取不到数据。(最主要参数为 did )
    ranlele
        1
    ranlele  
    OP
       2019-07-08 15:12:04 +08:00
    这是快手的个人信息页面
    matthewz
        2
    matthewz  
       2019-07-08 15:23:48 +08:00
    设置 cookie 就行了啊
    ranlele
        3
    ranlele  
    OP
       2019-07-08 15:29:01 +08:00
    自己尝试的第一次访问,返回 did,第二次,第三次带着 did 使用 session 访问,依然获取不到数据。
    Takamine
        4
    Takamine  
       2019-07-08 15:32:15 +08:00
    那就用 selenium 刷新三次页面怎么样:doge:。
    holajamc
        5
    holajamc  
       2019-07-08 15:35:17 +08:00
    Cookie 变化 用 mitmproxy 抓包康康
    ranlele
        6
    ranlele  
    OP
       2019-07-08 15:39:55 +08:00
    selenium 开无头模式就不行。不开无头模式可以使用 did 参数。 cookie 没有变化。
    holajamc
        7
    holajamc  
       2019-07-08 15:47:14 +08:00   ❤️ 1
    https://zhaoji.wang/how-to-detect-chrome-headless/
    ranlele
        8
    ranlele  
    OP
       2019-07-08 16:10:29 +08:00
    @holajamc 我再尝试一下,使用无头模式。
    TypeErrorNone
        9
    TypeErrorNone  
       2019-07-08 16:16:07 +08:00   ❤️ 1
    说明返回数据不是用的 url 参数,是根据 cookie 中的数据来获取的。
    你每次有新的 url 就先访问下,记录 cookie,再带着 cookie 访问一次拿数据。
    ranlele
        10
    ranlele  
    OP
       2019-07-08 16:23:40 +08:00
    @TypeErrorNone 我觉得,可能就是对这个 cookie 中的数值进行操作的。刷新三次,发送了好多个请求,我现在在模拟这些请求。
    opengps
        11
    opengps  
       2019-07-09 08:48:01 +08:00
    等待时间不够所以为 null 吧,加点延时进去再爬取
    keji
        12
    keji  
       2019-07-09 14:51:48 +08:00 via Android
    带上 cookie did 应该就可以了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5331 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 01:30 · PVG 09:30 · LAX 17:30 · JFK 20:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.