# -*- 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 import pyautogui register_connection(alias = 'spider', name = 'spider', host = '116.62.228.194', port = 27017, username = 'dba', password = 'dayuan@2020..', authentication_source = 'admin') def get_shops_info(lat,lng): url = 'https://u.zhinengxiyifang.cn/api/Stores/findNearStoreInc' payload = {"lat":lat,"lont":lng,"skip":0,"limit":10} # url = 'https://www.baidu.com' # payload = {} proxies = {'http':'http://140.246.89.239:19382','https':'https://140.246.89.239:19382'} strhtml = requests.post(url, json = payload,proxies = proxies,timeout = 15).text result = json.loads(strhtml) return result class xujiuDevice(Searchable): meta = { 'collection': 'xujiu_device', 'db_alias': 'spider', 'unique_together': {'device_id'} } class spiderLog(Searchable): device_id = StringField(default = '') addedTime = DateTimeField(default = datetime.datetime.now()) meta = { 'collection': 'xujiu_spiderLog', 'db_alias': 'spider', 'unique_together': {'device_id'} } # 首先输入访问设备的URL def send_url_for_dev(device_id): time.sleep(1) # x, y = pyautogui.position() # print x,y pyautogui.moveTo(1057,798) pyautogui.click() time.sleep(0.1) pyautogui.hotkey('ctrlleft', 'a') time.sleep(0.1) pyautogui.press('backspace') time.sleep(0.1) pyautogui.typewrite(message='http://hzchaotiankj.com/weixin/payone?num=%s' % device_id) time.sleep(0.1) pyautogui.hotkey('altleft', 's') time.sleep(0.1) pyautogui.moveTo(1112,630) pyautogui.click() time.sleep(5) pyautogui.moveTo(1260,129) time.sleep(0.2) pyautogui.click() while True: try: devs = xujiuDevice.get_collection().find() for dev in devs: try: if dev['device_id'] and dev['device_id'][0] == '0': continue device_id = dev['device_id'] count = spiderLog.objects.filter(device_id = device_id).count() if count > 0: continue send_url_for_dev(device_id) spiderLog(device_id = device_id).save() except Exception,e: continue except Exception,e: continue print 'OK'