爬虫去京东商城。价格被隐藏的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答术问题时复制粘贴 AI 生成的内容
yuyuyu101
V2EX    程序员

爬虫去京东商城。价格被隐藏的问题

  •  
  •   yuyuyu101
    yuyuyu101 2012-05-30 00:10:00 +08:00 15738 次点击
    这是一个创建于 4887 天前的主题,其中的信息可能已经有所发展或是发生改变。
    正常浏览器访问京东的商品页,可看到红色的价格,并且查看html代码可看到价格是文本格式。

    我用爬虫访问时,返回的html代码没有价格,我尝试修改爬虫的user-agent为chrome,但是仍然没用。有人知道。京东是采用什么原理进行屏蔽的么
    29 条回复    2016-05-16 19:24:40 +08:00
    lerry
        1
    lerry  
       2012-05-30 00:22:48 +08:00
    京东的网页,红色的价格是图片,源码看不到的,只能看到“市场价”,你能看到?发个链接?
    9hills
        2
    9hills  
       2012-05-30 00:27:55 +08:00
    是图片无误,用OCR吧

    road2stat
        3
    road2stat  
       2012-05-30 01:19:57 +08:00
    用 tcpdump + Wireshark 之类的分析一下京东 iOS app 的私有 API 就可以了。你懂的。
    9hills
        4
    9hills  
       2012-05-30 01:40:37 +08:00
    @road2stat 是想反向私有API么?不可能的。。。
    phuslu
        5
    phuslu  
       2012-05-30 01:47:10 +08:00   3
    两步可以拿到。
    1. 模拟点击"加入购物车",拿到 cookie
    2. 用这个 cookie 去访问 http://cart.360buy.com/cart/cart.html

    绝大部分的购物网站可以用这个办法解决。
    road2stat
        6
    road2stat  
       2012-05-30 02:00:32 +08:00
    @9hills 我跟了一下,没有使用 SSL / OAuth 之类的东西,就是一个简单的请求,返回一个简单的 JSON,你也可以做下实验。

    即使是加上 SSL 的普通请求,也可以自建中间人把加密包解开然后进行分析。但是如果加上了 OAuth 的私钥什么的,可能会比较困难。
    cooiky
        7
    cooiky  
       2012-05-30 08:36:38 +08:00
    @phuslu 这种对少量商品可以,如果是去抓全站商品,这样就很麻烦了
    aa88kk
        8
    aa88kk  
       2012-05-30 08:39:33 +08:00
    抓下图片, 然后用tesseract去识别, 某淘就是这么干的.
    cutehalo
        9
    cutehalo  
       2012-05-30 09:10:22 +08:00   3
    function jdPshowRecommend(url,stype) {
    var title = "CAMEL/骆驼 2012新款男款纯棉短袖t恤透气休闲翻领polo衫夏季新品 017308 男款军绿 XL直降108 限时抢购 送给父亲最好的礼物 仅限30日";
    var cOntent= "我在@京东商城 发现了一个非常不错的商品:CAMEL/骆驼 2012新款男款纯棉短袖t恤透气休闲翻领polo衫夏季新品 017308 男款军绿 XL直降108 限时抢购 送给父亲最好的礼物 仅限30日,京东价:¥276.00。感觉不错,分享一下";


    看到这个微博分享的JS里面就有京东价了吧。。。京东还用图片来屏蔽个毛啊....
    gavingeng
        10
    gavingeng  
       2012-05-30 09:31:06 +08:00
    @cutehalo
    你抓的是分享SNS里的价格吧
    cutehalo
        11
    cutehalo  
       2012-05-30 09:33:15 +08:00
    @gavingeng 这个是分享按钮的JS 是在商品页里的 京东价被写在这里头了...
    forest520
        12
    forest520  
       2012-05-30 09:36:58 +08:00
    @cutehalo 呵呵,有了这个,确实图片就多余了。
    sarices
        13
    sarices  
       2012-05-30 09:41:31 +08:00
    我之前都是用分享按钮的价格,不明白京东为何用图片显示
    waterye
        14
    waterye  
       2012-05-30 09:48:24 +08:00
    我猜是技术部门不同项目组独立干,没有统一规则。
    kamal
        15
    kamal  
       2012-05-30 10:32:06 +08:00
    LOL 网页里面直接输出了
    function jdPshowRecommend(url,stype)
    tokki
        16
    tokki  
       2012-05-30 10:43:03 +08:00
    这好玩 以后我要抓什么东西了 就发动一下大家一起来研究 太有趣了
    c
        17
    c  
       2012-05-30 10:57:11 +08:00
    收藏。我以为ocr是唯一的解决方案,没想到学习了这么多。
    yuyuyu101
        18
    yuyuyu101  
    OP
       2012-05-30 13:26:10 +08:00
    @9hills 我发现图书产品页不是图片 http://book.360buy.com/10058893.html
    ljbha007
        19
    ljbha007  
       2012-05-30 13:42:55 +08:00
    @cutehalo 至今没有找到分享按钮在哪 不过那个函数的确在啊 碉堡了
    cutehalo
        20
    cutehalo  
       2012-05-30 13:46:09 +08:00
    @ljbha007 分享按钮就在那个商品图片框的下面 有一排
    csx163
        21
    csx163  
       2012-05-30 13:52:51 +08:00
    此贴学到不少东西,感谢
    @phuslu
    @cutehalo
    kxboy
        22
    kxboy  
       2012-05-30 19:15:26 +08:00
    这个帖子我喜欢,我前一段时间为此困扰好久。
    Air_Mu
        23
    Air_Mu  
       2012-05-30 19:49:18 +08:00
    <script type="text/Javascript">

    function jdPshowRecommend(url,stype) {

    var title = "摩托罗拉(Motorola)ME722 3G手机(精锐蓝)WCDMA/GSM";

    var cOntent= "我在@京东商城 发现了一个非常不错的商品:摩托罗拉(Motorola)ME722 3G手机(精锐蓝)WCDMA/GSM,京东价:¥1458.00。感觉不错,分享一下";

    var img ="http://img10.360buyimg.com/n1/4332/6e812b1c-2cbe-4bb2-a313-207121b32684.jpg";

    var productUrl ="http://www.360buy.com/product/342079.html?sid=";

    var pin = readCookie("pin")||"";

    if (stype == "qzone") {

    url = url + "&title=" + content + "&pic=" + img + "&url=" + productUrl + pin;

    }

    if (stype == "sina") {

    url = url + "&title=" + encodeURIComponent(content) + "&pic=" + encodeURIComponent(img) + "&url=" + encodeURIComponent(productUrl) + pin;

    PostSinaDate();

    window.open(url, "", "height=500, width=600");

    }

    if (stype == "renren") {

    url = url + "title=" + title +"&cOntent="+ content + "&pic=" + img + "&url=" + productUrl + pin;

    }

    if (stype == "kaixing") {

    url = url + "rtitle=" + title + "&rcOntent=" + content + "&rurl=" + productUrl + pin;

    }

    if (stype == "douban") {

    url = url + "title=" + title + "&comment=" + content + "&url=" + productUrl + pin;

    }

    if (stype == "MSN") {

    url = url + "url=" + productUrl + pin + "&title=" + title + "&description=" + content + "&screenshot=" + img;

    }

    if (stype != "sina") {

    window.open(encodeURI(url), "", "height=500, width=600");

    }

    }



    //新浪分享POST数据
    hnpdslyf
        24
    hnpdslyf  
       2012-05-30 22:03:04 +08:00
    识别图片也不难啊,那么整齐的数字,分块对比一下就行
    asnidea
        25
    asnidea  
       2012-05-31 09:21:54 +08:00
    不错,mark下
    aerofloyd
        26
    aerofloyd  
       2012-05-31 21:02:31 +08:00
    感谢。。
    cooiky
        27
    cooiky  
       2012-06-01 16:35:54 +08:00
    @Air_Mu 这个价格是不准的,对一些特价活动的商品
    vexfisher
        28
    vexfisher  
       2012-06-03 21:20:25 +08:00
    同上
    一个商品有N中属性组合,不同的属性组合对应的价格是不同的,所以这个JS函数的价格仅供参考啊
    cangbaotu
        29
    cangbaotu  
       2016-05-16 19:24:40 +08:00
    你可以参考这篇教程,里面专门讲了如何写这类爬虫(异步加载,代码在神箭手云爬虫上可以直接跑): http://blog.csdn.net/youmumzcs/article/details/51385856
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5497 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 06:35 PVG 14:35 LAX 23:35 JFK 02:35
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86