V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
grimpil
V2EX  ›  问与答

请教:从 p.3.cn 那里获取京东商品价格返回{'error': 'pdos_captcha'}是怎么回事儿?

  •  
  •   grimpil · 2017-02-12 19:30:41 +08:00 · 6742 次点击
    这是一个创建于 2837 天前的主题,其中的信息可能已经有所发展或是发生改变。

    为了给娃买纸尿裤和米粉之类的东西,用 Python 写了个脚本,定时查询京东上指定商品的价格,如果有降价就通过 Server 酱的服务发微信通知我。 之前用的 ‘ http://p.3.cn/prices/mgets?skuIds=J_' + sku 这个接口,正常返回结果是这样的:

    [{"id":"J_652352","p":"259.00","m":"299.00","op":"259.00"}]

    在虚拟主机上跑了一天多以后,就开始返回 error :

    {'error': 'pdos_captcha'}

    我的设定是每小时查询一次,一共只有十几个商品,一天下来一共才二百多次请求,应该不会因为请求太频繁被封 ip 了吧。

    之后我在自己的笔记本电脑上又试了试,还是这样的情况。从昨天下午到今天下午,之前一直都正常,也就刚才,忽然就返回 error 了。不知道这个接口是不是对 24 小时内的请求数量有限制,而且非常小?

    现在我虚拟主机上的情况是,自从返回这个 error 之后,都过去几天了,再也没有成功查询过。就算是封 ip ,也不至于这么决绝吧。

    求大佬指点一下,这个“ pdos_captcha ”到底是什么意思。

    如果想继续使用这个接口,应该怎么做?

    我知道还有其他的途径查询到价格,但是通过 p.3.cn 这个应该是最简单快捷的吧,所以还是想把问题解决,继续用这个接口查价格

    4 条回复    2017-04-25 17:36:38 +08:00
    iamaprin
        1
    iamaprin  
       2017-02-12 19:52:13 +08:00
    captcha 是验证码的意思;应该是访问接口需要验证码。而你的脚本并没有解析验证码;
    grimpil
        2
    grimpil  
    OP
       2017-02-12 19:55:17 +08:00 via Android
    @iamaprin 一开始并不需要验证码,难道是超过一定次数才需要?
    我看好多人都在用这个接口,也都没说验证码的事儿
    tinyproxy
        3
    tinyproxy  
       2017-02-13 09:52:58 +08:00 via iPhone
    除非是开发这个程序和维护的人,没人回答的了你这个问题,这种问题都是靠猜,靠经验解决的。

    我赞同一楼的看法,验证码问题。至于封 IP 的行为,看站长心情,我的 VPS 被封过半年。
    echooc
        4
    echooc  
       2017-04-25 17:36:38 +08:00
    再多加一个参数 pdtk=&pduid 就可以了。但是不知道这个参数会不会有时间的限制,因为感觉这个参数可能和 session 有关
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3000 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 14:41 · PVG 22:41 · LAX 06:41 · JFK 09:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.