├── jingdong ├── __init__.py ├── image │ ├── QQ截图20170614163745.png │ ├── QQ截图20170614163841.png │ └── QQ截图20170614164003.png └── main.py ├── logger.py ├── README.md └── cookie.txt /jingdong/__init__.py: -------------------------------------------------------------------------------- 1 | __author__ = 'yangyz' 2 | -------------------------------------------------------------------------------- /jingdong/image/QQ截图20170614163745.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hupujrs2017/jingdong618/HEAD/jingdong/image/QQ截图20170614163745.png -------------------------------------------------------------------------------- /jingdong/image/QQ截图20170614163841.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hupujrs2017/jingdong618/HEAD/jingdong/image/QQ截图20170614163841.png -------------------------------------------------------------------------------- /jingdong/image/QQ截图20170614164003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hupujrs2017/jingdong618/HEAD/jingdong/image/QQ截图20170614164003.png -------------------------------------------------------------------------------- /logger.py: -------------------------------------------------------------------------------- 1 | __author__ = 'yangyz' 2 | 3 | 4 | import logging 5 | logger = logging.getLogger( 'weibo' ) 6 | logger.setLevel( logging.DEBUG ) 7 | 8 | # log format 9 | formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') 10 | 11 | # console log 12 | ch = logging.StreamHandler() 13 | ch.setLevel( logging.DEBUG ) 14 | ch.setFormatter( formatter ) 15 | logger.addHandler(ch) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # jingdong618 2 | 3 | 环境:python3 (python2.7应该也可以用,我没有具体试)
4 | 此脚本是在H5上进行抢券,所有链接均来自实际抓包所得。
5 | 以神券满198减100为例,需要用户自己配置的信息:
6 | 1.抢券时间 如2017-06-14 20:00
7 | 2.抢券链接,以chrome为例,360浏览器之类的类似
8 | ![image](https://github.com/hupujrs2017/jingdong618/blob/master/jingdong/image/QQ%E6%88%AA%E5%9B%BE20170614163745.png) 9 | 3.抢券referer,同上
10 | ![image](https://github.com/hupujrs2017/jingdong618/blob/master/jingdong/image/QQ%E6%88%AA%E5%9B%BE20170614163841.png) 11 | 4.京东登录后的cookie,同上
12 | ![image](https://github.com/hupujrs2017/jingdong618/blob/master/jingdong/image/QQ%E6%88%AA%E5%9B%BE20170614164003.png) 13 | -------------------------------------------------------------------------------- /jingdong/main.py: -------------------------------------------------------------------------------- 1 | __author__ = 'yangyz' 2 | 3 | 4 | from logger import logger 5 | import requests 6 | import datetime 7 | 8 | 9 | user_agent = ( 10 | 'User-Agent:Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5' 11 | ) 12 | session = requests.session() 13 | session.headers['User-Agent'] = user_agent 14 | 15 | ##将浏览器中能看到的cookie转化为python中的字典 16 | def get_cookie(): 17 | with open("../cookie.txt") as f: 18 | cookies={} 19 | for line in f.read().split(';'): 20 | name,value=line.strip().split('=',1) 21 | cookies[name]=value 22 | return cookies 23 | 24 | ##抢优惠券 25 | def getCoupon(): 26 | sched_Timer="2017-06-14 20:00" ##配置抢券的时间 27 | ##配置要抢购的券的url 在浏览器的Network中找 28 | couPonUrl="https://api.m.jd.com/client.action?functionId=newBabelAwardCollection&body=%7B%22activityId%22%3A%223tPzkSJZdNRuhgmowhPn7917dcq1%22%2C%22scene%22%3A%221%22%2C%22args%22%3A%22key%3D898c3948b1a44f36b032c8619e2514eb%2CroleId%3D6983488%2Cto%3Dpro.m.jd.com%2Fmall%2Factive%2F3tPzkSJZdNRuhgmowhPn7917dcq1%2Findex.html%22%2C%22mitemAddrId%22%3A%22%22%2C%22geo%22%3A%7B%22lng%22%3A%22%22%2C%22lat%22%3A%22%22%7D%7D&client=wh5&clientVersion=1.0.0&sid=dce17971eb6cbfcc2275dded296bcb58&uuid=1506710045&area=&_=1497422307569&callback=jsonp5" 29 | ##配置要抢购的券的referer 在浏览器的Network中找 30 | referer="https://pro.m.jd.com/mall/active/3tPzkSJZdNRuhgmowhPn7917dcq1/index.html" 31 | while(1): 32 | now=datetime.datetime.now().strftime('%Y-%m-%d %H:%M'); 33 | if now==sched_Timer: 34 | cj = requests.utils.cookiejar_from_dict(get_cookie()) 35 | session.cookies = cj 36 | resp=session.get( 37 | url=couPonUrl, 38 | headers={ 39 | 'Referer':referer , 40 | } 41 | ) 42 | logger.info(resp.text) 43 | break 44 | 45 | 46 | if __name__ == '__main__': 47 | getCoupon() 48 | 49 | 50 | -------------------------------------------------------------------------------- /cookie.txt: -------------------------------------------------------------------------------- 1 | abtest=20170609103123844_87; unpl=V2_ZzNtbUpXRxd9XEUDLk1VA2IKGw1KUkZCJw8WAX0QVA1gVxoNclRCFXMUR1NnGVkUZwMZXEdcQxRFCHZXchBYAWcCGllyBBNNIEwHDCRSBUE3XHxcFVUWF3RaTwEoSVoAYwtBDkZUFBYhW0IAKElVVTUFR21yVEMldQl2VH8YWwNnAhNYRmdzEkU4dlZ7EFkBVwIiXHIVF0l3CE9Wch8RBWMCFVtCVkIQcThHZHg%3d; TrackID=1xhbkNW_S6LEfzZwASHfFHT5eDjlSCTZkUh9rFVGbAEYPKPC5OCg7Du3ERNgZw-wuEQBhR9MxnlVHjZ35M93zv5VEnqdumj2JDSQ4jk4DuPI; pinId=nuNjFA2Wuf1IX60RtTTeoLV9-x-f3wj7; pin=476384563-948207; unick=jd476384wml; thor=82D0EA24855BC6EB6D13615C5F017272F890EBC371jghjkDC893ED667638481AB782811358488CC789047A8760FE3D5D394E7DA41317F636165136D0DCFBE28C391FBC3D671DC7BED1ED0E36FA6DB5944hk338868F8014AD3C0A9C95A220E21509DE2ECC1CFAFDFB413B01C4AAD1427C16D133CE417C6880124412F6732D7594BDE1547970443CDC7F9794C017046D28E6253E246CA02DA3B096CE9EDE3DBADC7AAD98E; _tp=a%2FsMFf7zfDm8NDZxidoiY4oIRZoozzS9OKuF4FSMUmA%3D; _pst=476384563-948207; ceshi3.com=000; user-key=4682e28b-1523-4b51-85a9-7f3863e9d504; cn=45; 3AB9D23F7A4B3C9B=7HC7Q4XYJO7FMYK3UgfjghMO4IYP4MOAB3WTBY6N2OSHNQQL44A4CVY5W7YHKHS3LZY6HN4ZTQWK5K65BW2C2CFSOWZDJQM; shshshfpa=c872af41-8d2f-eccb-3e1a-86b729cfe702-1497417516; shshshfpb=0b92c84d4d040453811b5cd1a42884802a33979d2830cd4c45940c72d4; whwswswws=bCoQy1kbvjtzBTakNiuCMqB84qdffIRp3Wl2z6KnznKFoH6FXJiXjWsg%3D%3D; TrackerID=zjs2pFQdymwccy-iqTvlty8duw7FfgkAqRXBxg18Ekq5bwZkobL50-A5HdEKxuXSgwBn4Uavn9atPDinGJ9E39TV9Z8vO9H4GBgP34rMl2ncEFOQtdBmA_g9-L9f9sFXQYTmrfLyvR8zTOFOVQs8jBxEA; pt_key=AAFZgfkghQMeAADA_hBxesDBtQneYopjhgjgNlIBwYI16EF7eUkf7XVoX9gkL9VOJ0zqhmKCSZdn46fbvhLVc; pt_pin=476384563-948207; pt_token=f37xxhqm; pwdt_id=476384563-948207; returnurl="https://m.jd.com?indexloc=1&sid=42de8522501b33c102a686d771388068"; m_uuid_new=4C7FBB36E009F151980E5A3C965C703C; mobilev=html5; downloadAppPlugIn_downCloseDate_m_index=1497417624778_86400000; USER_FLAG_CHECK=d95ac9fe479ab13bf1fjghjb0acd49cc1259; autoOpenApp_downCloseDate_auto=1497421830280_1800000; __jdv=122270672|iosapp|t_335139774|appshare|Wxfriends|1497421940105; __jda=122270672.1506710045.1494935989.1497421780.1497421940.6; __jdb=122270672.3.1506710045|6.1497421940; __jdc=122270672; mba_muid=1506710045; mba_sid=14974217804865823570088810921.11; __jdu=1506710045; sid=dce17971eb6cbfcc2275dded296bcb58 --------------------------------------------------------------------------------