V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ungrown
V2EX  ›  分享发现

[ Python 相关 NSFW 注意 ] requests.get 同一个 url,在 ubuntu 和 windows 系统中,返回的 html 差异巨大

  •  
  •   ungrown · 296 天前 · 588 次点击
    这是一个创建于 296 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我不知道原因,可能原因在网站那边,不是所有网站的普遍现象,但是……

    import requests
    url='https://www.pornhub.com/gif/44305571'
    r=requests.get(url)
    len(r.content)
    

    windows 这边得到的 content 长度 36137 字节,保存成 html 查看,778 行。不出所料很多页面元素都缺失,很多 script 内容不在其中。

    ubuntu 那边长度 337322 ,3700 行。html 代码和浏览器 F12 看到的完整页面代码几乎一模一样!

    不理解但大受震撼.jpg

    lsk569937453
        1
    lsk569937453  
       296 天前
    1.直接抓包看下最终发送的 http 请求是啥,有可能 header 不一样。
    2.用命令行 curl 测试一下。
    ungrown
        2
    ungrown  
    OP
       296 天前
    @lsk569937453 #1 有道理,我回头试试
    ungrown
        3
    ungrown  
    OP
       296 天前
    @lsk569937453 #1 不过 header 是一样的,r.request.headers 检查过
    0x0208v0
        4
    0x0208v0  
       295 天前   ❤️ 1
    你把 url 改成 https://httpbin.org/get ,看看返回的是什么。httpbin 能把你的请求原封不动返回,方便 debug
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2522 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:49 · PVG 23:49 · LAX 08:49 · JFK 11:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.