周末愉快

抱歉,昨天的代码换行有问题,影响理解,今天重发!

如何正确的使用微信

微信作为一个生活方式,已经融入我们的生活。每天打开微信,聊天、看朋友圈、看公众号……

但微信的作用远不止于此,上一篇推送已经展示了如何使用微信来扩展FME的功能,让使用者能随时随地了解FME的运行状态。但其实我们可以做的更多,比如,动态的传入参数,来控制程序的运行!

如何做?

  1. 采集的数据 最近我在采集某地图上的信息,主要是poi与地图上的区域范围,采集成果:

1.遇到的问题 以前我也采集过这些信息,但是长时间不用,如今想在采集点信息,发现麻烦多了。网站现在会判断采集的频率,采集过快的话不会返回数据,另外还会验证cookie(某大神,道号和尚!貌似有绕过这个验证的方法,但是我没有!)。所以需要采取一些别的方法来突破这些验证!

2.解决方式 针对出现的问题,我在采集的数据中写了几个函数,来调用微信的服务接口,通过微信传入所需要的参数,比如:如果我检测到返回的状态码为6,那么我就会调用tooFast函数来处理,同样的,如果检测到cookie过期,也采用类似的方式来处理。 验证处理

import time
import requests
class get_poi():
    def setSe(self):
        #设置cookie
        st = "oo"
        requests.get('http://127.0.0.1:5000/fwx/{"XX":"通知:%s"}'%('???!cookie过期了,准备新的cookie吧!'))        
        while st != "ok":
            print('cookie过期')
            time.sleep(3)
            tst = requests.get('http://127.0.0.1:5000/jsxx').json()
            st = tst[0]
            ck = tst[1]
        requests.get('http://127.0.0.1:5000/fwx/{"XX":"通知:%s"}'%('???!新cookie已到位!开始下载了!老乡?!'))
        mSession =  self.set_cookie(ck)
        return mSession
    def tooFast(self):
        requests.get('http://127.0.0.1:5000/fwx/{"XX":"通知:%s"}'%('???!下载太快了!去电脑上进行人机验证吧!'))
        st = "oo"
        while st != "ok":
            print('你太快了,少侠!')
            time.sleep(3)
            tst = requests.get('http://127.0.0.1:5000/jsxx').json()
            st = tst[0]        #time.sleep(90)
        requests.get('http://127.0.0.1:5000/fwx/{"XX":"通知:%s"}'%('???!已通过人机验证!开始下载!'))    
    def set_cookie(self,cook):
        ptn = re.compile("(?<=Cookie: ).+?(?=##)")
        ck  = re.sub('\n','##',cook)
        lck = [i.split('=') for i in ptn.search(ck).group().split('; ')]
        sess = requests.Session()
            for i in lck:
            sess.cookies.set(i[0],i[1])        
        return sess

微信功能模块

import json
from wxpy import Bot# 初始化机器人,扫码登陆

bot = Bot()# 定义一个发微信的功能
def func_wx(string):
    #接收json作为参数,json的键值为要发送信息的对象,键值对应的内容为发送的消息
    rdict = json.loads(string)
#     print(rdict)
    for k in rdict:
#         print(rdict[k])
        my_friend = bot.friends().search(k)[0]
        my_friend.send_msg(rdict[k])
def get_xx():
    msg = bot.messages
    if msg:
        for i in msg:
            if i.sender.name == '刘松':
                rtext = i.text
                if  rtext == 'ok':
                    r =  ('ok','_')
                    msg.clear()
                elif 'Cookie' in rtext:
                    cookie = rtext
                    r =  ('ok',cookie)
                    msg.clear()
                else:
                    msg.remove(i)
                    r =  ('继续吧1!','_')
            else:
                msg.remove(i)
                r =  ('继续吧2!','_')
    else:
        r =  ('继续吧3!','_')
    return r

微信界面

  1. others 后台给我发消息的小伙伴,平时我的工作很忙,很多时候,有时间看后台了,而你们发的消息已经过期了

本文分享自微信公众号 - 数据处理与分析(Qing_master),作者:文刀木公

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据挖掘学习小组之(Python基础篇)

    Python,是唯一一个,我会写的语言!而数据挖掘学习小组,也选了Python。好开心!

    数据处理与分析
  • 用Python进行数据分析之数据透视表

    在节前的一次推送中,我写了如何使用FME来进行进行数据透视的相关分析。今天来填之前挖的坑,使用Python来完成同样的数据分析。只不过,Py实现起来,更简洁! ...

    数据处理与分析
  • 用好ArcGIS Python第一步:环境配置

    Python现在是越来越火了,也有很多朋友想要学习这门语言。由于在开源平台与商业版软件对Python的支持,以及语法的简洁,使得Python在地理数据处理非常有...

    数据处理与分析
  • docker 中不能用vim编辑文件 原

    (adsbygoogle = window.adsbygoogle || []).push({});

    拓荒者
  • 【leetcode刷题】T114-对称二叉树

    https://leetcode-cn.com/problems/symmetric-tree/

    木又AI帮
  • 小程序部署腾讯云HTTPS证书的方法

    在safe.conf 增加以下内容,其中ssl_certificate和ssl_certificate_key这两个值是上面购买证书后上传到你的服务器的路径,请...

    用户6551998
  • 小程序部署腾讯云HTTPS证书

    在safe.conf 增加以下内容,其中ssl_certificate和ssl_certificate_key这两个值是上面购买证书后上传到你的服务器的路径,请...

    用户6624961
  • 修改资源管理器打开后的默认路径为计算机目录的方法

    本文转载:http://www.2cto.com/os/201206/135775.html

    跟着阿笨一起玩NET
  • 在Ubuntu安装go编译环境

    在Ubuntu安装go编译环境 好记性不如烂笔头,所以趁热打铁记录下golang编译环境的安装过程。   首先下载一些依赖包: sudo apt-get in...

    随机来个数
  • CentOS 7.2 安装MariaDB

    版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog...

    shaonbean

扫码关注云+社区

领取腾讯云代金券