Giter Site home page Giter Site logo

go-jd's Introduction

go-jd

[2021-11] JD buy logic changed, not working now. TBD

Golang version of jd-autobuy

Login

Login by QRCode using JD app

3rd-party

  • clog: Clog is a channel-based logging package for Go.
  • goquery: A little like that j-thing, only in Go.
  • mahonia: Character-set conversion library implemented in Go.
  • go-simplejson: A Go package to interact with arbitrary JSON.

Example

Usage 
  -area string                                                                      
        ship location string, default to Beijing (default "1_72_2799_0")            
  -goods string                                                                     
        the goods you want to by, find it from JD website.                          
        Single Goods:                                                               
          2567304(:1)                                                               
        Multiple Goods:                                                             
          2567304(:1),3133851(:2)                                                   
  -order                                                                            
        submit the order to JingDong when get the Goods.                            
  -period int                                                                       
        the refresh period when out of stock, unit: ms. (default 500)               
  -rush                                                                             
        continue to refresh when out of stock.                                      
# example
go run autobuy.go -goods 531065:2 -order

go-jd's People

Contributors

adyzng avatar zuston avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

go-jd's Issues

报错了

2017/11/03 16:20:03 [ INFO] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2017/11/03 16:20:04 [ INFO] 需要重新登录
2017/11/03 16:20:04 [ INFO] 请打开京东手机客户端,准备扫码登陆:
2017/11/03 16:20:06 [ INFO] 201 : 二维码未扫描 ,请扫描二维码
2017/11/03 16:20:09 [ INFO] 202 : 请手机客户端确认登录
2017/11/03 16:20:12 [ INFO] token : AAEAMPgJiD_vQ7foMYTbjkHjabYu_eFjXFmwga_XfR_waXt60LrMS6H04pzmwID-egHekw
2017/11/03 16:20:13 [ INFO] 登陆成功, P3P:
2017/11/03 16:20:13 [ INFO] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2017/11/03 16:20:13 [ INFO] 购物车详情>
2017/11/03 16:20:13 [ INFO] 购买  数量  价格      总价      编号      商品
2017/11/03 16:20:13 [ INFO] 总数:
2017/11/03 16:20:13 [ INFO] 总额:
2017/11/03 16:20:16 [ INFO] 编号: 531065, 库存: 现货, 价格: 7.90, 链接: https://cart.jd.com/gate.action?pid=531065&pcount=1&ptype=1
2017/11/03 16:20:16 [ INFO] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2017/11/03 16:20:16 [ INFO] 购买商品: 531065
2017/11/03 16:20:17 [ INFO] 成功加入进购物车 2 个 绿箭(DOUBLEMINT)无糖薄荷糖原味薄荷味35粒23.8g单盒金属装(新...
2017/11/03 16:20:17 [ INFO] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2017/11/03 16:20:17 [ INFO] 订单详情>
2017/11/03 16:20:17 [ INFO] 总金额:
2017/11/03 16:20:17 [ INFO]  运费:
2017/11/03 16:20:17 [ INFO] 应付款:
2017/11/03 16:20:17 [ INFO]
2017/11/03 16:20:17 [ INFO]
2017/11/03 16:20:17 [ INFO] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2017/11/03 16:20:17 [ INFO] 提交订单>
2017/11/03 16:20:18 [ INFO] Reponse Data: <!DOCTYPE html>
<html>
<head>
    <meta charset="GBK"/>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
    <title>����-��ӭ��¼</title>
    <link rel="icon" href="//www.jd.com/favicon.ico"/>
    <link type="text/css" rel="stylesheet"
          href="//misc.360buyimg.com/user/passport/1.0.0/??/widget/base/base.css,widget/common-2016-1124/common-2016-1124.css,/widget/login-form-2016-1124/login-form-2016-1124.css,/widget/login-banner/login-banner.css,/widget/safe-step/safe-step.css,/widget/foreign-number-layer-170524/foreign-number-layer-170524.css"
          source="widget"/>
    <link type="text/css" rel="stylesheet" href="//misc.360buyimg.com/user/passport/1.0.0/css/tinyscrollbar-170524.css">
    <script type="text/javascript" src="//misc.360buyimg.com/jdf/lib/jquery-1.6.4.js"></script>
    <script type="text/javascript" src="//misc.360buyimg.com/user/passport/1.0.0/??/js/underscore-min.js"></script>

	<script type="text/javascript">
     	$(function(){
                window.SysConfig = {
                encryptInfo:  true ,
                rememberMeShowEnable:  false                 };
         });
    </script>
		</head>
<body>
<!-- SDK ��¼ -->
<div class="w">
    <div id="logo">
        <a href="//www.jd.com/" clstag="pageclick|keycount|20150112ABD|45">
            <img src="//misc.360buyimg.com/lib/img/e/logo-201305-b.png" alt="����" width="170" height="60">
        </a>
        <b></b>
    </div>
			<a href="//surveys.jd.com/index.php?r=survey/index/sid/568245/lang/zh-Hans" target="_blank"  class="q-link"><b></b>��¼ҳ�棬����ʾ�</a>
    </div>
<div id="content">
    <div class="login-wrap">
		<div class="w">
            <div class="login-form">
                <div class="login-tab login-tab-l">
                    <a href="javascript:void(0)" clstag="pageclick|keycount|201607144|1"> ɨ���¼</a>
                </div>
                <div class="login-tab login-tab-r">
                    <a href="javascript:void(0)" clstag="pageclick|keycount|201607144|2">�˻���¼</a>
                </div>
                <div class="login-box">
                    <div class="mt tab-h">
                    </div>
                    <div class="msg-wrap">
						                        <div class="msg-error hide"><b></b></div>
                    </div>
                    <div class="mc">
                        <div class="form">
                            <form id="formlogin" method="post" onsubmit="return false;">
                                <input type="hidden" id="sa_token" name="sa_token" value="92B017EA5F04A686D1C0E55895F3C9F026ED4D2EC9B322068588964FA926A29F4511CA083B6829FAA10D13F187F8031CA03FA612AB15960F0D1E0A9F0DB8813F40D41CE31443C99E90B831ED785A442B32F8BD2F2B1D1A569FB52AD377182B750B8A7E5C015B7C17B9AAC75A91EAC9005AED80258985044F5861008ACE64225A8C281EB48AA163C2E871DDB95EAA5D56178F892CDBBB022E26035E76F41BEF06805719C5EDCB04B634248D1951E3084EA2239686299FDFBF9CC02529B9B05662B927F62C15229B4F3A503C83F102D63C1DBCDBBE2D41AF79BC285187F4918F7B75DBA593DBE437700D4BD334C8B44FCA1E1C41425F937D5D923C0C06782EF4EED32BC34EB642C7D75933AA2750D689B5929D61F82FAC4BE742AB00B3A0A5C664259ECCC38BFF7A76F4BC5DB7A72543C47C3E1FB5DB08A168E0921CDF84B18C80BB9548CCE2631180FE4A1CC2C7E0B5E975309C7E964070F3117BB1F5FD1CA1F9A43FD6F2DE5D2DD714644DAA0D43401C66D92886F690A8584FC8B630402A20E08EF9EA150001922B20E54E0B8923D071C77C4CC59C24F84979C0A7013843D3D034316A218C84BF17ABD8E252F4A48633BB7434DF4123CA6FC6FB331D8CB692B9016704CAC6398E6481ED670E275087541F2758EB65215D1925453DD5ABB56F502E7CB1F2C7733AC0703CF380B33CCD29058A5EC9EDB83332C10543B883E4FCD2391335A376B525414B95BEA5A80FAA5D0021F55075FC2D69026D15EAB89298BF9D07FA424BBDB26D56F0A4AD315DDDE150A984A5ECDA10A2FB57B3F09AEF64FDE6315582FD65603EA87538E136AB418FDF67E94D0EFE8B3903D53F5284B8986C397FF44D2996C16C152452F15BA9D4D008B7910A7FC35FE84CC741E39BDCF977B9D53138BC0B21F376624E8C5EA094A29F57A5ADC689863B5F7C88C1A3A9B9753F43B621534FD84CEEFD92C564E814ACBEE4B8BEC900821ECB3B476B3FF56453E771078A863B2F8597CFA5A01FB2D63138613F8EF5C146B9DC294D12CF3526122D64669F3C0F7D8064D7EB3B791FECCC55A410DD23670FF94E93A3768F53C897831E3E564860E5BB15F799904039EF772B543FBAD4F8F3ADCE87EC58ABA11D38A917EFA1575CB5284374EA665126DDAB"/>
								<input type="hidden" id="uuid" name="uuid" value="f3493208-7deb-4ee7-b1f1-84c4984d6644"/>
                                <input type="hidden" name="eid" id="eid" value="" class="hide"/>
                                <input type="hidden" name="fp" id="sessionId" value="" class="hide"/>
                                <input type="hidden" name="_t" id="token" value="_t" class="hide"/>
                                <input type="hidden" name="loginType" id="loginType" value="c" class="hide"/>
                                <input type="hidden" name="pubKey" id="pubKey" value="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDC7kw8r6tq43pwApYvkJ5laljaN9BZb21TAIfT/vexbobzH7Q8SUdP5uDPXEBKzOjx2L28y7Xs1d9v3tdPfKI2LR7PAzWBmDMn8riHrDDNpUpJnlAGUqJG9ooPn8j7YNpcxCa1iybOlc2kEhmJn5uwoanQq+CA6agNkqly2H4j6wIDAQAB" class="hide"/>
                                                                <input type="hidden" name="huywMYeKzY" value="Tawvh"/>
                                                                <div class="item item-fore1">
                                    <label for="loginname" class="login-label name-label"></label>
                                    <input id="loginname" type="text" class="itxt" name="loginname" tabindex="1"
										autocomplete="off"
																				placeholder="����/�û���/����֤�ֻ�"/>
                                    <span class="clear-btn"></span>
                                </div>

								<div id="entry" class="item item-fore2">
									<label class="login-label pwd-label" for="nloginpwd"></label>
									<input type="password" id="nloginpwd" name="nloginpwd" class="itxt itxt-error"
										tabindex="2" autocomplete="off" placeholder="����"/>
									<span class="clear-btn"></span>
									<span class="capslock"><b></b>��Сд���Ѵ�</span>
								</div>



                                <div id="o-authcode"
                                     class="item item-vcode item-fore3  hide ">
                                    <input id="authcode" type="text" class="itxt itxt02" name="authcode" tabindex="3">
                                    <img id="JD_Verification1" class="verify-code"
                                                                                  src2="//authcode.jd.com/verify/image?a=1&amp;acid=f3493208-7deb-4ee7-b1f1-84c4984d6644&amp;uid=f3493208-7deb-4ee7-b1f1-84c4984d6644"
                                                                                      onclick="this.src= document.location.protocol +'//authcode.jd.com/verify/image?a=1&amp;acid=f3493208-7deb-4ee7-b1f1-84c4984d6644&amp;uid=f3493208-7deb-4ee7-b1f1-84c4984d6644&amp;yys='+new Date().getTime();$('#authcode').val('');"/>
                                    <a href="javascript:void(0)" onclick="$('#JD_Verification1').click();">�����廻һ��</a>
                                </div>

								<div class="item item-fore4">
									<div class="safe">
										<span>
                                                                             	</span>
										<span class="forget-pw-safe">
											<a href="/uc/links?tag=safe" class="" target="_blank"
												clstag="pageclick|keycount|201607144|3">�������</a>
										</span>
                                 	</div>
                                </div>

                                <div class="item item-fore5">
                                    <div class="login-btn">
                                        <a href="javascript:;" class="btn-img btn-entry" id="loginsubmit" tabindex="6"
                                           clstag="pageclick|keycount|201607144|3">��&nbsp;&nbsp;&nbsp;&nbsp;¼</a>
                                    </div>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>

                <div class="qrcode-login">
                    <div class="mc">
                        <div class="qrcode-error-2016">
                            <div class="qrcode-error-mask">
                            </div>
                            <p class="err-cont">��������</p>
                            <a href="javascript:void(0)" class="refresh-btn">ˢ��</a>
                        </div>
                        <div class="qrcode-main">
                            <div class="qrcode-img">
                                <img src="//qr.m.jd.com/show?appid=133&size=147&t=1509697218453" alt="">
                            </div>
                            <div class="qrcode-help" style="display: none; "></div>
                        </div>
                        <div class="qrcode-panel">
                            <ul>
                                <li class="fore1">
									<span>��</span>
                                    <a href="/uc/links?tag=apps" target="_blank"
										clstag="pageclick|keycount|201607144|9">
									<span class="red">�ֻ�����</span></a>
                                </li>
								<li>ɨ���ά��</li>
                            </ul>
                        </div>
                        <div class="coagent qr-coagent" id="qrCoagent">
                            <ul>
                                <li><b></b><em>������</em></li>
                                <li><b class="faster"></b><em>���&nbsp;</em></li>
                                <li><b class="more-safe"></b><em>��ȫ</em></li>
                            </ul>
                        </div>
                    </div>
                </div>
				             <div class="coagent" id="kbCoagent">
                    <ul>
                        						                        <li>
                            <b></b>
                            <a href="javascript:void(0)"
                               onclick="window.location='//qq.jd.com/new/qq/login.aspx'+window.location.search;return false;"
                               clstag="pageclick|keycount|201607144|6" class="pdl"><b
                                    class="QQ-icon"></b><span>QQ</span></a>
                                                        <span class="line">|</span>
                                                    </li>
                                                                        <li>
                            <a href="javascript:void(0)"
                               onclick="window.location='//qq.jd.com/new/wx/login.action'+window.location.search;return false;"
                               clstag="pageclick|keycount|201607144|7" class="pdl"><b
                                    class="weixin-icon"></b><span>΢��</span></a>
								                        </li>
                                                                                                <li class="extra-r">
                            <div>
                                <div class="regist-link"><a
                                        href="//reg.jd.com/reg/person?ReturnUrl=http%3A%2F%2Fwww.jd.com"
                                        clstag="pageclick|keycount|201607144|8"
                                        target="_blank"><b></b>����ע��</a></div>
                            </div>
                        </li>
                    </ul>
                </div>            </div>
        </div>
        <div class="login-banner" clstag="pageclick|keycount|20150112ABD|46">
            <div class="w">
                <div id="banner-bg" class="i-inner"
                     >
                </div>
            </div>
        </div>
    </div>
</div>
<div class="w">
    <div id="footer-2013">
        <div class="links">
            <a rel="nofollow" target="_blank" href="//www.jd.com/intro/about.aspx">
                ��������
            </a>
            |
            <a rel="nofollow" target="_blank" href="//www.jd.com/contact/">
                ��ϵ����
            </a>
            |
            <a rel="nofollow" target="_blank" href="//zhaopin.jd.com/">
                �˲���Ƹ
            </a>
            |
            <a rel="nofollow" target="_blank" href="//www.jd.com/contact/joinin.aspx">
                �̼���פ
            </a>
            |
            <a rel="nofollow" target="_blank" href="//www.jd.com/intro/service.aspx">
                ������
            </a>
            |
            <a rel="nofollow" target="_blank" href="//app.jd.com/">
                �ֻ�����
            </a>
            |
            <a target="_blank" href="//club.jd.com/links.aspx">
                ��������
            </a>
            |
            <a target="_blank" href="//media.jd.com/">
                ��������
            </a>
            |
            <a href="//club.jd.com/" target="_blank">
                ��������
            </a>
            |
            <a href="//gongyi.jd.com" target="_blank">
                ��������
            </a>
            |
            <a target="_blank" href="//en.jd.com/" clstag="pageclick|keycount|20150112ABD|9">English Site</a>
        </div>
        <div class="copyright">
            Copyright&nbsp;&copy;&nbsp;2004-2017&nbsp;&nbsp;����JD.com&nbsp;��Ȩ����
        </div>
    </div>
</div><script type="text/javascript" src="//misc.360buyimg.com/jdf/1.0.0/unit/base/1.0.0/base.js"></script>
    <script type="text/javascript" src="/new/js/jdJsencrypt.min.js"></script>
<script type="text/javascript" src="/new/misc/js/login2016.js?v=201702221137"></script>
<script type="text/javascript" src="//misc.360buyimg.com/user/passport/1.0.0/js/login.index.2016-1130.js" source="widget"></script>
<script type="text/javascript">	~function () {		var data = [						{			  src:"//img30.360buyimg.com/da/jfs/t11275/31/822290386/178227/898a9dc2/59f9b0e6N85067dce.jpg",			  bgColor:"#4F0979",                          weight: ""			}				,{			  src:"//img12.360buyimg.com/da/jfs/t10927/118/2611673057/89138/aa8696d6/59faedaeNf27e88c6.jpg",			  bgColor:"#370051",                          weight: "4"			}						,			{			  src:"//img20.360buyimg.com/da/jfs/t10573/15/2569592794/23775/941500b2/59fa9c86N131a918d.jpg",			  bgColor:"#dfdfdf",                          weight: "4"			}				,{			  src:"//img20.360buyimg.com/da/jfs/t11665/342/812396265/188273/6202b25/59f9854eN5a20efa8.jpg",			  bgColor:"#1BB0DB",                          weight: "4"			}			];						         var getRandom = function (arr) {			var _temp = 0, _random = 0, _weight, _newArr = [];						for (var i = 0; i < arr.length; i++) {				_weight = parseInt(arr[i].weight) ? parseInt(arr[i].weight) : 1;				_newArr[i] = [];				_newArr[i].push(_temp);				_temp += _weight;		_newArr[i].push(_temp);			}						_random = Math.ceil(_temp * Math.random());						for (var i = 0; i< _newArr.length; i++){				if(_random > _newArr[i][0] && _random <= _newArr[i][1]){					return arr[i];		}}			};				var tpl = '<div class="login-banner" style="background-color: {bgColor}">\		              <div class="w">\		         <div id="banner-bg"  clstag="pageclick|keycount|20150112ABD|46" class="i-inner" style="background: url({imgURI}) 0px 0px no-repeat;background-color: {bgColor}"></div>\		              </div>\		           </div>';							var bgData = getRandom(data);		var bannerHtml = tpl.replace(/{bgColor}/g, bgData.bgColor).replace(/{imgURI}/g, bgData.src);				$('.login-banner').replaceWith(bannerHtml);	}();</script>
<script type="text/javascript">
    (function () {
        var ja = document.createElement('script');
        ja.type = 'text/javascript';
        ja.async = true;
        ja.src = ('https:' == document.location.protocol ? 'https://cscssl' : '//csc') + '.jd.com/wl.js';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(ja, s);
    })();
</script>


<script src="//payrisk.jd.com/js/td.js"></script>
<script>
    $(function () {
        getJdEid(function (eid, fpid) {
            var eValue = eid;
            var fpValue = fpid;
            var ee = $("#eid").prop("value", eValue);
            var fp = $("#sessionId").prop("value", fpValue);
        });
    });
</script>

<script type="text/javascript">
    var _jraq = _jraq || [];
    _jraq.push(['account', 'UA-J2011-12']);
    (function () {
        var ja = document.createElement('script');
        ja.type = 'text/javascript';
        ja.async = true;
        ja.src = ('https:' == document.location.protocol ? 'https://jrclick' : '//jrclick') + '.jd.com/wl.dev.js';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(ja, s);
    })();
</script>



<!-- SDK ��¼ -->
</body>
</html>

2017/11/03 16:20:18 [ERROR] 无法解析订单响应数据: invalid character '<' looking for beginning of value

Linux以及OSX 在编译后运行皆会出现bad file descriptor的错误

2017/07/13 17:47:30 [ERROR] 加载Cookies失败: EOF
2017/07/13 17:47:30 [ INFO] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2017/07/13 17:47:30 [ INFO] 需要重新登录
2017/07/13 17:47:30 [ INFO] 请打开京东手机客户端,准备扫码登陆:
2017/07/13 17:47:31 [ERROR] 下载二维码失败: write /root/go-jd/jd.qr.png: bad file descriptor
2017/07/13 17:47:31 [ERROR] Failed to persist cookiejar. error write jd.cookies: bad file descriptor.

将程序放到Windows下运行不会,linux 和 osx 均会出现此问题

请问一下武汉的地区代码是什么?

你好,你的软件我可以正常使用。
但是遇到一个问题,有的商品,北京有货,武汉没货,这样就导致下单失败,请问如何查询地区代码?
感谢!

请教下如何布置环境

抱歉占用你的精力,不是太了解这个要怎么配置,如果方便的话,是否能告知我一下。谢谢

如何使用

下载了源码,win10命令行cmd执行 go run xxxxx,一直卡着,是要下载什么库吗,go get github.com/go-clog/clog这种的吗,完全下不动

貌似不能用了

在添加进购物车之后,订单提交失败

2017/09/21 21:39:14 [ INFO] 登陆成功, P3P:
2017/09/21 21:39:14 [ INFO] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2017/09/21 21:39:14 [ INFO] 购物车详情>
2017/09/21 21:39:14 [ INFO] 购买 数量 价格 总价 编号 商品
2017/09/21 21:39:14 [ INFO] 总数:
2017/09/21 21:39:14 [ INFO] 总额:
2017/09/21 21:39:21 [ INFO] 编号: 531065, 库存: 现货, 价格: 7.90, 链接: https://cart.jd.com/gate.action?pid=531065&pcount=1&ptype=1
2017/09/21 21:39:21 [ INFO] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2017/09/21 21:39:21 [ INFO] 购买商品: 531065
2017/09/21 21:39:28 [ INFO] 成功加入进购物车 2 个 绿箭(DOUBLEMINT)无糖薄荷糖原味薄荷味35粒23.8g单盒金属装(新...
2017/09/21 21:39:28 [ INFO] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2017/09/21 21:39:28 [ INFO] 订单详情>
2017/09/21 21:39:29 [ INFO] 总金额:
2017/09/21 21:39:29 [ INFO]  运费:
2017/09/21 21:39:29 [ INFO] 应付款:
2017/09/21 21:39:29 [ INFO]
2017/09/21 21:39:29 [ INFO]
2017/09/21 21:39:29 [ INFO] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2017/09/21 21:39:29 [ INFO] 提交订单>
2017/09/21 21:39:31 [ INFO] Reponse Data:

……………… [ERROR] 无法解析订单响应数据: invalid character '<' looking for beginning of value

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.