1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- # -*- 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 = '116.62.228.194',
- port = 27017,
- username = 'dba',
- password = 'dayuan@2020..',
- authentication_source = 'admin')
- class Goverment(Searchable):
- province = StringField(default = "")
- city = StringField(default = "")
- name = StringField(default = '')
- lat = StringField(default = '')
- lng = StringField(default = '')
-
- meta = {
- 'collection': 'Goverment',
- 'db_alias': 'spider',
- 'unique_together': {'lat', 'lng'}
- }
-
- class wanzhuangDevice(Searchable):
- meta = {
- 'collection': 'wanzhuang_device',
- 'db_alias': 'spider',
- 'unique_together': {'device_num'}
- }
- # 根据二维码编号,获取设备更详细的信息
- url = 'https://webapp.wanzhuangkj.com/api/device/getChargeInfo?device_num=%s'
- auth = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vYXBpLndlYmFwcC53YW56aHVhbmdrai5jb20vYXV0aC90b2tlbiIsImlhdCI6MTYxNTE4MjUxNiwiZXhwIjoxNjE2MzkyMTE2LCJuYmYiOjE2MTUxODI1MTYsImp0aSI6ImpPb2RLamw0ZXhmdUQwajEiLCJzdWIiOjE4NTAzMjIsInBydiI6IjZmMTdkOTMxYmZlNjUwYzNlMjU3YWNkNGE5NDMxYWU5ZWM1MDEyNjciLCJjb21wYW55X2lkIjoiMiIsImNvbXBhbnlEYl9jb25uIjoid3oiLCJ1c2VyX2lkIjoxNzg4MDY1LCJ1c2VyX3R5cGUiOiJ3eHBheSIsIm9wZW5pZCI6Im9feGdxMHF6eUJPVHpQbmNRWU1EVWt5RFoyeVEifQ.2bPZFgPJPS6O5N0_XKXjLKsUI57d-QiHTClpjUWUpvs'
- devs = wanzhuangDevice.get_collection().find()
- ii = 0
- for dev in devs:
- try:
- ii += 1
- print ii
- if dev.has_key('manager_phone') and dev['manager_phone']:
- continue
- url1 = url % (dev['device_num'])
- strhtml = requests.get(url1,verify=False,headers = {'Authorization':auth}).text
- result = json.loads(strhtml)
- if not result.has_key('data') or not result['data'].has_key('device_group'):
- time.sleep(15)
- continue
- wanzhuangDevice.get_collection().update({'device_num':dev['device_num']},{'$set':result['data']['device_group']})
- except Exception,e:
- continue
- print('OK')
|