首页
搜索
python
爬虫
golang
工具
前端
软件
登录
搜索
李大叔
累计撰写
60
篇文章
累计收到
10
条评论
首页
栏目
python
爬虫
golang
工具
前端
软件
页面
首页
2022-12-5
腾讯地图python api对接 路线规划,地址逆解析
主要是返回起点到终点的时间需要多久,和显示距离多长地址逆解析,返回经纬度 def pio(self,address): params = { 'key': '你的key', 'address': address, } res = requests.get('https://apis.map.qq.com/ws/geocoder/v1/', params=params).json() # lng = res['result']['location']['lng'] lat = res['result']['location']['lat'] content=str(lat)+','+str(lng) print(content) return content返回起点和终点的距离和时间,输入经纬度经纬度 def content(self,from_,to): params={ 'key':'你的key', 'from':起点, 'to': 终点 } res=requests.get('https://apis.map.qq.com/ws/direction/v1/driving',params=params).json() print(res) distance=0 duration=0 for i in res['result']['routes']: print(i) distance+=i['distance'] duration += i['duration'] print(distance,duration)看结果
2022年-12月-5日
918 阅读
0 评论
python
置顶
单一窗口js数据解密,货物申报数据爬取
本次主要讲解货物申报详情数据解密,其他模块大同小异的,本教程只允许学习交流,2024年又更新了,不过解决了单一窗口js数据解密,解密流程很繁琐,单一窗口反debug,很麻烦,而且代码又是混淆的,看起来很吃力,你需要利用中间件把menuManger.js无限debug代码替换掉,才可以debug,先说改menuManger.js块把这一块改一下,你们看一下把0x145内容或者其他的内容改一下,你们看着修改改完之后,用中间代理替换js文件,chrome插件或者fiddler软件都可以,就可以正常debug了,接下来说解密的事主入口在这里这是内容的解密函数,function _0xf212f9(_0x3dd02e) { var _0xc944d8, _0x254483, _0x51f7b1 = new Array(); _0xc944d8 = _0x3dd02e.length; for (var _0x8061dc = 0; lx5(_0x8061dc, _0xc944d8); _0x8061dc++) lx10(_0x254483 = _0x3dd02e.charCodeAt(_0x8061dc), 65536) && lx11(_0x254483, 0x10ffff) ? (_0x51f7b1.push(lx11(_0x254483 >> 0x12, 0x7) | 0xf0), _0x51f7b1.push(lx1(lx8(_0x254483, 0xc) & 0x3f, 0x80)), _0x51f7b1.push(lx1(_0x254483 >> 0x6 & 0x3f, 0x80)), _0x51f7b1.push(63 & _0x254483 | 128)) : lx10(_0x254483, 0x800) && lx11(_0x254483, 0xffff) ? (_0x51f7b1.push(lx11(lx8(_0x254483, 0xc), 0xf) | 0xe0), _0x51f7b1.push(lx1(lx1(_0x254483 >> 0x6, 0x3f), 0x80)), _0x51f7b1.push(lx1(lx3(0x3f, _0x254483), 0x80))) : lx3(_0x254483, 0x80) && _0x254483 <= 0x7ff ? (_0x51f7b1.push(lx3(lx8(_0x254483, 0x6), 0x1f) | 0xc0), _0x51f7b1.push(lx8(63 & _0x254483, 128))) : _0x51f7b1.push(0xff & _0x254483); return _0x51f7b1;}function sk(_0x24d4fd){ var _0x438c63, _0x54abf4, _0x55518c, _0x1a9354, _0x145e69 = new Array(4), _0x162b78 = new Array(36),_0x3cee7a= new Array(32), _0x7697e3 = 0;for (_0x145e69[0] = _0x44008d(_0x24d4fd, 0),_0x145e69[1] = _0x44008d(_0x24d4fd, 4),_0x145e69[2] = _0x44008d( _0x24d4fd, 8),_0x145e69[3] = _0x44008d(_0x24d4fd, 12),_0x162b78[0] = _0x145e69[0] ^ _0x4e6a68[0],_0x162b78[1] = _0x145e69[1] ^ _0x4e6a68[1],_0x162b78[2] = _0x145e69[2] ^ _0x4e6a68[2],_0x162b78[3] = _0x145e69[3] ^ _0x4e6a68[3]; lx5(_0x7697e3, 32); _0x7697e3++) _0x162b78[_0x7697e3 + 4] = _0x162b78[_0x7697e3] ^ (_0x438c63 = lx6(lx6(_0x162b78[lx4(_0x7697e3, 1)], _0x162b78[_0x7697e3 + 2]) ^ _0x162b78[lx4(_0x7697e3, 3)], _0x4d0c98[_0x7697e3]), _0x1a9354 = void 0, _0x55518c = new Array(4), _0x1a9354 = new Array(4), end(_0x438c63, _0x55518c, 0), _0x1a9354[0] = _0x11268a[lx3(255, _0x55518c[0])], _0x1a9354[1] = _0x11268a[lx3(255,_0x55518c[1])], _0x1a9354[2] = _0x11268a[lx3(255,_0x55518c[2])], _0x1a9354[3] = _0x11268a[lx3(255,_0x55518c[3])], lx6((_0x54abf4 = str_han(_0x1a9354, 0)) ^ _0x3818cb( _0x54abf4, 13), _0x3818cb(_0x54abf4, 23))), _0x3cee7a[_0x7697e3] = _0x162b78[_0x7697e3 + 4];return _0x3cee7a.reverse()} var n = []; var o = []; var f = typeof Uint8Array !== "undefined" ? Uint8Array : Array; var i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; for (var a = 0, u = i.length; a < u; ++a) { n[a] = i[a]; o[i.charCodeAt(a)] = a } o["-".charCodeAt(0)] = 62; o["_".charCodeAt(0)] = 63; function d(r) { var e = r.length; if (e % 4 > 0) { throw new Error("Invalid string. Length must be a multiple of 4") } return r[e - 2] === "=" ? 2 : r[e - 1] === "=" ? 1 : 0 } function l(r) { return n[r >> 18 & 63] + n[r >> 12 & 63] + n[r >> 6 & 63] + n[r & 63] } function h(r, e, t) { var n; var o = []; for (var f = e; f < t; f += 3) { n = (r[f] << 16) + (r[f + 1] << 8) + r[f + 2]; o.push(l(n)) } return o.join("") } function s(r) { var e; var t = r.length; var o = t % 3; var f = ""; var i = []; var a = 16383; for (var u = 0, d = t - o; u < d; u += a) { i.push(h(r, u, u + a > d ? d : u + a)) } if (o === 1) { e = r[t - 1]; f += n[e >> 2]; f += n[e << 4 & 63]; f += "==" } else { if (o === 2) { e = (r[t - 2] << 8) + r[t - 1]; f += n[e >> 10]; f += n[e >> 4 & 63]; f += n[e << 2 & 63]; f += "=" } } i.push(f); return i.join("") } function c(r) { return r.length * 3 / 4 - d(r) } function v(r) { var e, t, n, i, a; var u = r.length; i = d(r); a = new f(u * 3 / 4 - i); t = i > 0 ? u - 4 : u; var c = 0; for (e = 0; e < t; e += 4) { n = o[r.charCodeAt(e)] << 18 | o[r.charCodeAt(e + 1)] << 12 | o[r.charCodeAt(e + 2)] << 6 | o[r.charCodeAt(e + 3)]; a[c++] = n >> 16 & 255; a[c++] = n >> 8 & 255; a[c++] = n & 255 } if (i === 2) { n = o[r.charCodeAt(e)] << 2 | o[r.charCodeAt(e + 1)] >> 4; a[c++] = n & 255 } else { if (i === 1) { n = o[r.charCodeAt(e)] << 10 | o[r.charCodeAt(e + 1)] << 4 | o[r.charCodeAt(e + 2)] >> 2; a[c++] = n >> 8 & 255; a[c++] = n & 255 } } return a } function d(r) { var e = r.length; if (e % 4 > 0) { throw new Error("Invalid string. Length must be a multiple of 4") } return r[e - 2] === "=" ? 2 : r[e - 1] === "=" ? 1 : 0 }只提供部分代码参考,后面还要转义,解密出来要转义两次才可以看到正常的文字。最后看结果本教程只允许学习交流,不允许做违法犯罪的事,2024年更新了解密内容,改动的地方挺多的,挺大的比较多的是这一块内容大家慢慢学习吧以后博主会慢慢更新爬虫项目,
2022年-12月-5日
2516 阅读
4 评论
爬虫
2022-12-5
Uniapp中使用Echarts
下载 mpvue-echarts npm下载依赖下载 echarts.js 引用进来import * as echarts from '@/components/echarts/echarts.simple.min.js';import mpvueEcharts from '@/components/mpvue-echarts/src/echarts.vue';视图层 <view class="container"> <mpvue-echarts :echarts="echarts" @onInit="lineInit" canvasId="bar" ref="lineChart" /> </view>逻辑层 lineInit(e) { var lineOption={} let { width, height } = e; let canvas = this.$refs.lineChart.canvas; echarts.setCanvasCreator(() => canvas); this.lineChart = echarts.init(canvas, null, { width: width, height: height }) canvas.setChart(this.lineChart) // lineChart.setOption(lineOption) // this.$refs.lineChart.setChart(lineChart); },
2022年-12月-5日
828 阅读
0 评论
前端
2022-12-2
如何利用 Python 生成一个月的全部日期
您可以使用datetime这个库去生成from datetime import date, timedelta, datetimedef days_cur_month(): m = datetime.now().month y = datetime.now().year ndays = (date(y, m+1, 1) - date(y, m, 1)).days d1 = date(y, m, 1) d2 = date(y, m, ndays) delta = d2 - d1 return [(d1 + timedelta(days=i)).strftime('%Y-%m-%d') for i in range(delta.days + 1)]days_cur_month()
2022年-12月-2日
640 阅读
0 评论
python
2022-12-1
uniapp H5跨域解决方案
小程序端:不存在跨域问题,注意配置域名白名单和校验ssl证书问题app端:不存在跨域问题,注意android和ios端校验ssl证书问题;h5端:存在跨域问题,需要解决;内置模拟器(不存在跨域)很简单,在manifest.json文件里面添加下面这行代码就可以了"h5" : { "devServer" : { "port" : 8083, //浏览器运行端口 "disableHostCheck" : true, //设置跳过host检查 "proxy" : { "/api" : { "target" : "http://127.0.0.1:8001", //目标接口域名 "changeOrigin" : true, //是否跨域 "secure" : false, // 设置支持https协议的代理 "pathRewrite":{"^/api":""} } } } },
2022年-12月-1日
1460 阅读
0 评论
前端
2022-11-30
解决Mixed Content: The page at https://xxx was loaded over HTTPS
在页面中加入(meta)头中添加upgrade-insecure-requests(简单粗暴),不用在nginx处理 <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">这将会把http请求转化为https请求。这样就不会再出现Mixed Content的错误了。
2022年-11月-30日
3562 阅读
0 评论
前端
2022-11-30
python列表list6种排序方法
1、冒泡排序法 让列表中的一项和下一项作比较,若前一项大于后一项则交换两者位置(升序)。方法一:直接使用for循环L=[8,2,50,3]for i in range(len(L)):for j in range(i+1,len(L)):if L[i]>L[j]:L[i],L[j]=L[j],L[i]print(L)方法二:使用while语句L=[8,2,50,3]n=0while n<len(L)-1:n+=1i=0while i<len(L)-1:if L[i]>L[i+1]:L[i],L[i+1]=L[i+1],L[i]i+=1print(L)2、选择排序法 在未排序的列表中找到最小元素,存放在列表的最前面,然后再从剩余的元素中寻找最小的,放到已排序列表的末尾,以此类推,直到所有元素排序完毕(升序)方法一:remove和append同时使用L=[8,2,50,3]l=[] # 创建一个空列表用于存放排序后的数据for i in range(len(L)):a=min(L) # 创建一个变量存放最小值l.append(a) # 向空列表中加入数据L.remove(a) # 在原列表中将最小值剔除print(l)方法二:pop和append同时使用L=[8,2,50,3]创建函数寻找最小元素的索引值def Smallest(L):smallest = L[0]s = 0 # 创建变量用于存放索引值for i in range(1, len(L)):if L[i] < smallest:s = ismallest = L[i]return s # 返回最小元素的列表索引值l = [] # 创建一个空列表用以存放排序后的数据for i in range(len(L)):smallest = Smallest(L)l.append(L.pop(smallest)) # pop方法后跟元素当前列表最小值的索引值print(l)3、list.sort()方法 iterable.sort(self,key,reverse)iterable以为可迭代对象,可以是列表、集合、字典key是函数,指定取待排序元素的函数规则reverse实现降序排序,需要提供一个bool值,默认为False(升序)L=[8,2,50,3]L.sort()print(L)4、sorted()函数 sorted(iterable,key=None,reverse=False)key:通过这个参数可以自定义排序逻辑L=[8,2,50,3]l=sorted(L)print(l)
2022年-11月-30日
879 阅读
0 评论
python
4
5
6