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

发现一个很奇怪的问题, cheerio 在 window 和 mac 结果完全不一样

  •  
  •   lwd219 · 2018-09-06 11:23:24 +08:00 · 3608 次点击
    这是一个创建于 2271 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是这样的,心血来潮研究一下 node 爬虫,其中用到了 cheerio 模块,楼主工作用的电脑是 Mac,这个模块用在 Mac 上非常顺手,但是我在我自己的服务器上用,同样的代码,同样的版本,windows server 2008 r2 完全用不了,打印出来的东西不知道是什么鬼东西,求助一下,求大佬解惑

    14 条回复    2018-10-02 14:01:03 +08:00
    LengthMin
        1
    LengthMin  
       2018-09-06 11:29:47 +08:00
    iconv 试一下
    ps: 我之前有一次读出来中文汉字全是问号, 后面把 Header 里面的 Host 去掉又能正常读取汉字了...
    wxsm
        2
    wxsm  
       2018-09-06 11:39:48 +08:00
    这么说不太好分析,建议贴出具体问题,执行 log 等
    lwd219
        3
    lwd219  
    OP
       2018-09-06 11:40:12 +08:00
    @LengthMin 不是编码的问题,是在 Windows server 2012 上出来的结果跟 mac 上结果完全不一样,在 Mac 上可以使用 jquery 语句一层一层往下找,结构很清晰,比如 $('body').find('.list') 在 mac 上很完美,在 win 下就可能返回 length:0
    Trim21
        4
    Trim21  
       2018-09-06 11:41:12 +08:00 via Android
    服务器返回的 HTML 相同吗…
    realkenshinji
        5
    realkenshinji  
       2018-09-06 11:47:46 +08:00 via iPhone
    日志不贴,response 不贴,你让人家怎么帮你?
    cctv1005s927
        6
    cctv1005s927  
       2018-09-06 11:52:05 +08:00
    FakeLeung
        7
    FakeLeung  
       2018-09-06 11:53:12 +08:00
    先确定返回的数据是否一致先?说不定人家屏蔽了 xx 云的 ip 呢。
    lwd219
        8
    lwd219  
    OP
       2018-09-06 11:58:07 +08:00 via Android
    @Trim21 我能说结构完全不一样,同样一句$("body") win 下返回的一大串 json,都不敢一个个往下找,mac 直接就出来了
    lovedebug
        9
    lovedebug  
       2018-09-06 12:22:29 +08:00
    node 依赖的底层在 win 上本来就和 linux 不一样
    lovedebug
        10
    lovedebug  
       2018-09-06 12:22:50 +08:00
    应该时和 Mac 不一样
    lwd219
        11
    lwd219  
    OP
       2018-09-06 12:38:50 +08:00
    各位大佬,原因找到了,是 URL 的问题,有些网页在 Mac 上的地址和 win 上的地址不一样,在 Mac 上能打开,但是在 win 上就打不开
    zhengjian
        12
    zhengjian  
       2018-09-06 12:46:27 +08:00
    很多通过 UA 判断的啊
    lwd219
        13
    lwd219  
    OP
       2018-09-06 13:54:59 +08:00
    再提一句,服务器打不开是因为被他们网站的反爬虫屏蔽了 IP
    binaryify
        14
    binaryify  
       2018-10-02 14:01:03 +08:00
    模拟下 UA
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3031 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 126ms · UTC 14:00 · PVG 22:00 · LAX 06:00 · JFK 09:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.