# -*- coding: utf-8 -*- #!/usr/bin/env python from collections import OrderedDict import requests import simplejson as json from mongoengine import DynamicDocument, StringField, DictField class User(DynamicDocument): equipmentId = StringField(unique = True) distributorId = StringField(verbose_name = '') serviceNumber = StringField(verbose_name = '') businessName = StringField(verbose_name = '') result = DictField(verbose_name = '') meta = {'collection': 'le_user', 'db_alias': 'default'} import sys begin = int(sys.argv[1]) end = int(sys.argv[2]) records = [] for itemid in range(begin, end + 1): try: equipmentId = str(itemid) url = 'https://m.leyaoyao.com/customer/group/customerService/info?equipmentId={}'.format(equipmentId) strhtml = requests.get(url, timeout = 15) result = json.loads(strhtml.text) print '{} - {}'.format(equipmentId, result) if 'data' not in result or not result['data']: continue else: data = result['data'] distributor_id = data.get('lyyDistributorId', '') service_number = data.get('customerServiceNumber', '') business_name = data.get('businessName', '') if service_number and service_number != '400-807-3833' and business_name != u'乐摇摇': records.append( OrderedDict([ (u'设备编号', equipmentId), (u'服务电话', service_number), (u'区域ID', distributor_id), (u'businessName', business_name) ])) except Exception, e: print str(e) import pandas as pd df = pd.DataFrame(records) df.to_excel('/var/lyy/{}_{}.xlsx'.format(begin, end), sheet_name='sheet1', index=False)