# -*- coding: utf-8 -*- # !/usr/bin/env python import os, sys,time,datetime import urllib import requests from mongoengine import register_connection, PointField, DynamicDocument, StringField import simplejson as json from django.db.models.fields import DateTimeField PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..') sys.path.insert(0, PROJECT_ROOT) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "configs.testing") from script.base import init_env init_env(interactive = False) from apps.web.core.db import Searchable register_connection(alias = 'spider', name = 'spider', host = '211.159.224.10', port = 27119, username = 'service', password = 'oOzjoQcO5DyyiN97AY0NpzJ6vztjNpx5', authentication_source = 'admin') class xcyDevice(Searchable): devNo = StringField(default = '') logicalCode = StringField(default = '') tel = StringField(default = '') name = StringField(default = '') meta = { 'collection': 'xcy_device', 'db_alias': 'spider', } cookie1 = 'HDB_FPC=id=27f26b5f1f8bf7038f21647145062031:lv=1648020903231:ss=1648020437952:lsv=1647341426889:vs=1:spv=14' devNos = [obj.devNo for obj in xcyDevice.objects.all()] for devNo in devNos: try: url1 = 'http://xcy365.com/gateway/agent/api/device/%s/0' % devNo refer = 'http://xcy365.com/h5/pages/charge/setting/bike_setting?deviceId=%s' % devNo strhtml = requests.get(url1,headers = {'Cookie':cookie1,'Refer':refer,'TOKEN':'bca611e9-c5da-4ac0-b33d-36d73d6bd6f1'}).text devData = json.loads(strhtml) xcyDevice.get_collection().update({'devNo':devNo},{'$set':{'tel':devData['data']['repairsPhone'],'name':devData['data']['name']}}) print devNo,devData['data']['repairsPhone'] except Exception,e: print '!!!!!!!!!!!!!!!!',e continue print('OK')