xujiu.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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. import pyautogui
  16. register_connection(alias = 'spider',
  17. name = 'spider',
  18. host = '116.62.228.194',
  19. port = 27017,
  20. username = 'dba',
  21. password = 'dayuan@2020..',
  22. authentication_source = 'admin')
  23. def get_shops_info(lat,lng):
  24. url = 'https://u.zhinengxiyifang.cn/api/Stores/findNearStoreInc'
  25. payload = {"lat":lat,"lont":lng,"skip":0,"limit":10}
  26. # url = 'https://www.baidu.com'
  27. # payload = {}
  28. proxies = {'http':'http://140.246.89.239:19382','https':'https://140.246.89.239:19382'}
  29. strhtml = requests.post(url, json = payload,proxies = proxies,timeout = 15).text
  30. result = json.loads(strhtml)
  31. return result
  32. class xujiuDevice(Searchable):
  33. meta = {
  34. 'collection': 'xujiu_device',
  35. 'db_alias': 'spider',
  36. 'unique_together': {'device_id'}
  37. }
  38. class spiderLog(Searchable):
  39. device_id = StringField(default = '')
  40. addedTime = DateTimeField(default = datetime.datetime.now())
  41. meta = {
  42. 'collection': 'xujiu_spiderLog',
  43. 'db_alias': 'spider',
  44. 'unique_together': {'device_id'}
  45. }
  46. # 首先输入访问设备的URL
  47. def send_url_for_dev(device_id):
  48. time.sleep(1)
  49. # x, y = pyautogui.position()
  50. # print x,y
  51. pyautogui.moveTo(1057,798)
  52. pyautogui.click()
  53. time.sleep(0.1)
  54. pyautogui.hotkey('ctrlleft', 'a')
  55. time.sleep(0.1)
  56. pyautogui.press('backspace')
  57. time.sleep(0.1)
  58. pyautogui.typewrite(message='http://hzchaotiankj.com/weixin/payone?num=%s' % device_id)
  59. time.sleep(0.1)
  60. pyautogui.hotkey('altleft', 's')
  61. time.sleep(0.1)
  62. pyautogui.moveTo(1112,630)
  63. pyautogui.click()
  64. time.sleep(5)
  65. pyautogui.moveTo(1260,129)
  66. time.sleep(0.2)
  67. pyautogui.click()
  68. while True:
  69. try:
  70. devs = xujiuDevice.get_collection().find()
  71. for dev in devs:
  72. try:
  73. if dev['device_id'] and dev['device_id'][0] == '0':
  74. continue
  75. device_id = dev['device_id']
  76. count = spiderLog.objects.filter(device_id = device_id).count()
  77. if count > 0:
  78. continue
  79. send_url_for_dev(device_id)
  80. spiderLog(device_id = device_id).save()
  81. except Exception,e:
  82. continue
  83. except Exception,e:
  84. continue
  85. print 'OK'