昕昕博客
滴滴芭滴豆的小博客

给平安复旦脚本随机gps坐标

这里使用了fducslg版本的pafd-automated,详见github

每天给平安复旦提交相同的精确到11位小数的gps坐标也太假了,能不能随机坐标呢?

思路很简单,就是保留经纬度三位小数(大概十几米)并随机生成后面的位数。这样做的目的是防止多次随机后产生误差。(前三位总是不变的)

花絮:然而,由于本人水平零蛋且刚接触json,闹了笑话。原来python对象转化为json字符串不能用str(item)😅😅😅这样会出一系列问题导致无法被解析。。无知且胆大的我向平安复旦提交了错误的由str()生成的错误json,导致当天我的平安复旦页面无法正确加载出来😅😅😅还好没被开除🥳🥳🥳

正确的做法是json.dumps,以及为了使用双引号、避免ascii自动编码,需要指定一些参数。

代码如下

def random_geo(geo_api_info):
        """
        在上次提交位置的附近生成随机位置
        """
        geo_api_info = json.loads(geo_api_info)
        #用format防止最后几位是0被float减少位数
        lng = float('{:.5f}'.format(geo_api_info['position']['lng'])[:-2] + str(random.randint(0,99)))
        lat = float('{:.5f}'.format(geo_api_info['position']['lat'])[:-2] + str(random.randint(0,99)))
        Q = float('{:.5f}'.format(lat) + str(random.randint(0,4)) + str(random.randint(0,999999)))
        R = float('{:.5f}'.format(lng) + str(random.randint(0,4)) + str(random.randint(0,999999)))
        #让lng,lat保留三位小数(精确到大十几米),并据此随机生成精确位置(Q,R),防止多天后多次随机产生较大误差
        geo_api_info['position'].update(
            {
                'Q': Q,
                'R': R,
                'lng': lng,
                'lat': lat
            }
        )
        return json.dumps(geo_api_info,ensure_ascii=False,separators=(',',':')) #一定要dunps啊!!!

geo_api_info = Zlapp.random_geo(self.last_info["geo_api_info"])
赞赏

ddbdd

"我时常觉得自己是一个FW."

— ddbdd, a FW

发表回复

textsms
account_circle
email

昕ちやんのブログ

给平安复旦脚本随机gps坐标
这里使用了fducslg版本的pafd-automated,详见github 每天给平安复旦提交相同的精确到11位小数的gps坐标也太假了,能不能随机坐标呢? 思路很简单,就是保留经纬度三位小数(大概十…
扫描二维码继续阅读
2022-02-10