@daleyjh 是的,忙乎了很长时间。终于抢到了。
2
2nature
@2nature
-
【已出】2100m路由器原价199元,现128元不包邮。 -
【已出】2100m路由器原价199元,现128元不包邮。具体参数:
商品名称:海康威视DS-3WR23-E
商品毛重:1.015kg
商品产地:中国大陆
是否有USB接口:否
LAN口数量:3
天线数量:7根
APP端控制:支持
无线协议:无网口
盲插:不支持
固件切换:不支持
防火墙:支持
天线:外置
LAN输出口:千兆网口
WAN接入口:千兆网口
适用面积:大户型(90-120㎡)
无线速率:2100M -
SOD发起200部影片免费看,让老司机们待在家防疫!特殊时期,不要发这种降低免疫力的帖子。
-
京东PLUS会员免费领取QQ阅读会员一个月抓紧去读书
-
win10专业版网页激活密钥7NCKG-H9H49-BB29X-Q432Y-43K2P
7NDYW-FFPW8-BQV9K-XQPPB-DPFJ2
7NFWG-6CTP7-BCBJ2-MVTWJ-XW3PP
7NHX6-4BCYH-DPQYC-PD2YH-PWGGC
7NWJJ-F28XG-9VB84-MJVP6-3V7CP
7PHMM-N2WF8-TMMGH-4K3WK-QV7CP
7QCPN-TY4CK-WBHPK-MFF8R-8B6GC
7QDNR-GTXT4-36MH6-QHBFY-DPFC2
7QNFX-RPWKW-9DV48-KKXFX-QV66P
7QXK6-4NWM9-Y8WHF-F8RRM-WHV82 -
免费领取顺丰速递代金券正好明天要寄顺丰,先领了。谢大佬。
-
滴滴18元立减券明天上午定表抢券
-
Office 365 A1P向大佬学习
-
本站NodeBB版本升级到v1.13.2吓得我看看
-
日本知名网盘TeraCloud 六周年庆,10GB免费支持WebDAV感谢楼主分享,顺便贴一下自己的邀请码
LQJ75 -
WIN10教育版RETAIL密钥一枚3N3HD-Q64PP-MJ7R2-QPC28-DGPJB
-
Paypal 10 刀奖励,能不能领主要看脸We're sorry, but you may not be eligible for this offer.
-
骚操作,刚才不小心删除了一波用户李时珍的秀
-
office365 家庭板 拼车@迷兔诶 教育邮箱注册的,不用花钱。美滋滋
-
清华大学免费开放“文泉学堂”,高质量书籍免费看''' python 3.6, 3.7 pip install httpx loguru PyJWT # 文泉学堂 # 3208943 ('Python+TensorFlow机器学习实战', '248') 第1页 python fetch_png.py # 第10页 python fetch_png.py 3208943 10 ''' # from typing import Union, Tuple from pathlib import Path from time import time import json import httpx import jwt from loguru import logger JWT_SECRET = 'g0NnWdSE8qEjdMD8a1aq12qEYphwErKctvfd3IktWHWiOBpVsgkecur38aBRPn2w' SESS = httpx.Client() URL = 'https://lib-nuanxin.wqxuetang.com' SESS.get(URL) # def gen_jwt_key(self): def gen_jwt_key(bookid): ''' jwt key for bookid ''' # url = "https://lib-nuanxin.wqxuetang.com/v1/read/k?bid=%s" % bookid url = f'{URL}/v1/read/k?bid={bookid}' # r = self.session.get(url, timeout=5) # r = SESS.get(url, timeout=5) # j = json.loads(r.text) try: resp = SESS.get(url) resp.raise_for_status() except Exception as exc: logger.warning(exc) return str(exc) try: jdata = resp.json() except Exception as exc: logger.warning(exc) jdata = {} res = jdata.get('data') if res is None: raise Exception('returned None, something is not right...') return res # def gen_jwt_token(self, page): def gen_jwt_token(bookid, page=1): ''' gen jwt token ''' cur_time = time() jwtkey = gen_jwt_key(bookid) jwttoken = jwt.encode({ "p": page, "t": int(cur_time)*1000, "b": str(bookid), "w": 1000, # "k": json.dumps(self.jwtkey), "k": json.dumps(jwtkey), "iat": int(cur_time) }, JWT_SECRET, algorithm='HS256').decode('ascii') return jwttoken # def bookinfo(self): def bookinfo(bookid): ''' bookinfo ''' # url = f"https://lib-nuanxin.wqxuetang.com/v1/read/initread?bid={self.bookid}" # noqa url = f'{URL}/v1/read/initread?bid={bookid}' # r = self.session.get(url) req = httpx.models.Request('GET', URL) try: resp = SESS.get(url) resp.raise_for_status() except Exception as exc: logger.warning(exc) resp = httpx.Response(status_code=499, request=req, content=str(exc).encode()) # noqa try: jdata = resp.json() except Exception as exc: logger.warning(exc) jdata = {} # info = json.loads(r.text) # data = info['data'] # return data['name'], data['canreadpages'] data = jdata.get('data') if data is None: raise Exception('returned None, something is not right...') bookinfo.jdata = jdata return data.get('name'), data.get('canreadpages') # async def download_img(self, page, task_id): def fetch_png(bookid, page=1): ''' download booid page img ''' token = gen_jwt_token(bookid, page) url = f'{URL}/page/img/{bookid}/{page}?k={token}' headers = { 'referer': f'{URL}/read/pdf/{bookid}', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' # noqa } req = httpx.models.Request('GET', URL) try: resp = SESS.get(url, headers=headers) resp.raise_for_status() except Exception as exc: logger.warning(exc) resp = httpx.Response(status_code=499, request=req, content=str(exc).encode()) # noqa fetch_png.resp = resp try: res = resp.content except Exception as exc: logger.warning(exc) return b'' return res def main(): ''' main ''' import os import sys bookid = 3208943 if not sys.argv[1:]: logger.info(' Provide at least a bookid.') logger.info(' Using %s to test ' % bookid) else: try: bookid = sys.argv[1] except Exception as exc: logger.warning(exc) page = 1 if not sys.argv[2:]: logger.info(' Provide a page number.') logger.info(' Using %s to test ' % page) else: try: bookid = sys.argv[2] except Exception as exc: logger.warning(exc) logger.info(f' Fetchiing {bookid} {bookinfo(bookid)} page: {page}') res = fetch_png(bookid, page) filename = f'{bookid}-{page:03d}.png' count = 0 while Path(filename).exists(): count += 1 filename = f'{bookid}-{page:03d}-{count}.png' if count > 4: break else: logger.warning(f' Possibly overwriting {filename}') Path(filename).write_bytes(res) logger.info(f'{filename} saved.') if sys.platform in ['win32']: os.startfile(f'{filename}') # type: ignore if __name__ == '__main__': main()
-
Beyond Compare 4.*激活密钥一组提示该密钥已被吊销。
-
猫站 PT站 邀请发送@jifeng 收到谢谢大佬
-
淘宝叠猫猫赚猫币自动脚本(无需安装任何软件)这个方法是极好的。