程序员黑科技之夺宝岛

简介: <div class="markdown_views"><p>额,不知道这样好不好。 <br>不过还是希望CSDN不要删除啊,不管是好的坏的,咱们都要开源分享不是。</p><p>主要就是基于Chrome能够在Console中执行js来做的。 <br>以京东夺宝岛为例子我们需要做如下的事情:</p><ul><li>在Chorme中打开夺宝岛网页,按F12,然后刷新

额,不知道这样好不好。
不过还是希望CSDN不要删除啊,不管是好的坏的,咱们都要开源分享不是。

主要就是基于Chrome能够在Console中执行js来做的。
以京东夺宝岛为例子我们需要做如下的事情:

  • 在Chorme中打开夺宝岛网页,按F12,然后刷新页面
  • 转到Network标签,看所有的请求,研究出那个请求是拿当前价格的
    方式是点击请求,看Response中的返回值:
    这里写图片描述
    得到结果:http://paimai.jd.com/json/current/englishquery?paimaiId=10473082&skuId=0&t=650541&start=0&end=9
    这个链接能够查看所有的出价记录的json字符串,第一个就是当前的报价了
  • 然后就是设置一个加价值,心理价位, 然后提交
  • 再次获得最高价,如果不是我出的那么就再次加价,循环这个过程
  • 当然还是的通过Chrome来知道提交加价的请求应该是什么
    这里直接列出结果:http://paimai.jd.com/services/bid.action?

剩下的就是开始写脚本了。


var t,count = 1,price=0,pin = getCookie('pin'),f = function(){
    $.ajax({
    url:'http://paimai.jd.com/json/current/englishquery?paimaiId='+paimaiId+'&skuId=0&t=964468&start=0&end=9',
    async:false,
    success:function(data){
        var currentPrice = parseFloat(data.currentPrice);
        console.info("第",count,"次检测商品当前拍卖价格是",currentPrice);
        if(data.auctionStatus == 2){
            console.error("商品拍卖结束,获得者",data.currentUser);
            clearTimeout(t);return;
        }
        if(data.currentPrice < 1500) {
            if(pin != data.currentUser && price != currentPrice){
                $.ajax({
                url:'http://paimai.jd.com/services/bid.action?t=369168&paimaiId='+paimaiId+'&proxyFlag=0&bidSource=0&price='+(currentPrice+1),
                async:false,
                success:function(data1){
                    console.warn("第",count,"次加价拍,本次出价",(currentPrice+1),"出价结果",data1.message);
                    if(data1.result == 200){
                        currentPrice = currentPrice+1;
                    } else {
                        if(data1.result == 516) {clearTimeout(t);return;}
                    }
                }
                });
            } else {
                console.info("商品价格未变,忽略加价");
            }
            price = currentPrice;
            t = setTimeout(f,1000);
        } else {
            console.error("商品价格高于原价5折,停止加价");
            clearTimeout(t);
        }
    }
    });
    count++;
}
f();



//暂停
clearTimeout(t)

代码还是比较简单,就不多做解释了。这里说一下有个关键的地方是网页分析的部分。就是从请求中拿到了自己想要的数据。

这样样例的请求是一个json,所以能够直接用了,如果是一个html网页应该怎么办呢?
因为现在的网页一般都用了jquery,所以可以使用jquery脚本来做。他的拾取器还是之棒的。
比如这样:
var val = (tr:eq(2),html);(‘td:gt(1)’,val).html() 第二个tr的第一个td. 等等

相关文章
|
13天前
|
存储 搜索推荐 程序员
SnippetsLab:程序员的秘密武器
SnippetsLab:程序员的秘密武器
21 0
|
6月前
|
JavaScript Java
【游戏开发】自从遇见了口袋方舟后,我的世界变得精彩了起来
【游戏开发】自从遇见了口袋方舟后,我的世界变得精彩了起来
71 0
|
7月前
|
传感器 安全 物联网
聊一聊V2X,我眼中的V2X
聊一聊V2X,我眼中的V2X
|
9月前
|
人工智能 JSON 缓存
身为程序员,你有哪些提高写代码效率的黑科技?
身为程序员,你有哪些提高写代码效率的黑科技?
|
11月前
|
程序员
程序员成长第四篇:程序员的职业天花板
程序员成长第四篇:程序员的职业天花板
101 0
|
12月前
|
SQL 人工智能 Rust
热议:ChatGPT 的出现会不会导致底层程序员失业?
热议:ChatGPT 的出现会不会导致底层程序员失业?
|
存储 程序员 网络安全
这款“万金油”治好了我多年的职场焦虑症
有了TA,产品、运营还需跪求程序员吗?
2082 0
这款“万金油”治好了我多年的职场焦虑症
|
边缘计算 运维 安全
不会三种编程语言的不算程序员 走近阿里云 MVP烁淼吐槽大佬
为将阿里云 MVP打造成为技术顶尖人群的社群,建立成员之间连接,促进相互交流和业务影响,迸发各行各业技术人的无限价值。2020年2月初,运营团队与阿里云MVP们共同推出“走近阿里云MVP”新栏目,从技术人性格、开发经验、行业知识积累等方面进行深入分享和交流,了解彼此,产生化学反应,发现不同连接相同!
1575 0
不会三种编程语言的不算程序员 走近阿里云 MVP烁淼吐槽大佬
|
程序员
|
程序员
女网友吐槽程序员眼光高, 要钱要颜, 阿里网易程序员最现实
现在程序员无疑是一个高薪岗位,在如今互联网时代,一个技术型人才在社会上真的太吃香了,现在很多知名互联网公司员工的待遇也是十分优渥,但是有一个尴尬的问题是很多程序员人是单身。
1124 0

热门文章

最新文章