weitiandi_tel.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/env python
  3. import os, sys,time,datetime
  4. import urllib
  5. import requests
  6. from mongoengine import register_connection, PointField, DynamicDocument, StringField
  7. import simplejson as json
  8. from django.db.models.fields import DateTimeField
  9. PROJECT_ROOT = os.path.join(os.path.abspath(os.path.split(os.path.realpath(__file__))[0] + "/.."), '..')
  10. sys.path.insert(0, PROJECT_ROOT)
  11. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "configs.testing")
  12. from script.base import init_env
  13. init_env(interactive = False)
  14. from apps.web.core.db import Searchable
  15. register_connection(alias = 'spider',
  16. name = 'spider',
  17. host = '211.159.224.10',
  18. port = 27119,
  19. username = 'service',
  20. password = 'oOzjoQcO5DyyiN97AY0NpzJ6vztjNpx5',
  21. authentication_source = 'admin')
  22. class weitiandiDevice(Searchable):
  23. meta = {
  24. 'collection': 'weitiandi_device',
  25. 'db_alias': 'spider',
  26. }
  27. # 根据二维码编号,获取设备更详细的信息
  28. logicalFormat1 = 'XC%04d'
  29. logicalFormat2 = 'XC%05d'
  30. url1 = 'http://wetiandi.com/api/dev_info.php?do=customer_service&uid=%s'
  31. cookie1 = 'acw_tc=2f624a3316508485227543969e05cbdf3f8e34e8b34cb07b98a88d47257b6d; PHPSESSID=289df6867a76371820780cdbedce0397;PHPSESSID=289df6867a76371820780cdbedce0397'
  32. agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 NetType/WIFI MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x63060012)'
  33. #36000
  34. newCount = 0
  35. ii = 0
  36. for dev in weitiandiDevice.get_collection().find({'spiderData':'0421'}):
  37. try:
  38. url = url1 % dev['weid']
  39. response = requests.get(url,headers = {'Cookie':cookie1,'User-Agent':agent})
  40. mobile = json.loads(response.content).get('msg','')
  41. weitiandiDevice.get_collection().update({'id':dev['id']},{'$set':{'mobile':mobile}},upsert = True)
  42. ii += 1
  43. if ii % 100 == 0:
  44. print ii
  45. except Exception,e:
  46. print '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!',e
  47. continue
  48. print('OK')