爬虫-requests,微信公众号推送

去掉了time和bs4,不好用

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import re,sys,time,json,requests
import urllib
from datetime import date,timedelta

# 获取页面链接信息
class PageHelperInfo(object):
    def pageInfo(self,pri_name='',sdate=date.today()-timedelta(days=1)):
        today=date.today()
        response = requests.post(
            url="https://www.cuecp.cn/PAR_PO_WW/indexController.jhtml",
            params={
                "cmd":"queryNoticeList",
            },
            headers={
                "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
                "Accept-Encoding":"gzip, deflate, br",
                "Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",
                "Cache-Control":"max-age=0",
                "Connection":"keep-alive",
                "Content-Length":"246",
                "Content-Type":"application/x-www-form-urlencoded",
                "Cookie":"JSESSIONID=A8882F0526D30FF5F55F1F7143F89787",
                "Host":"www.cuecp.cn",
                "Origin":"https://www.cuecp.cn",
                "Referer":"https://www.cuecp.cn/PAR_PO_WW/indexController.jhtml?cmd=queryNoticeList",
                "Upgrade-Insecure-Requests":"1",
                "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36",
            },
            data={
                # "module":"0",
                "attribute4":province[pri_name],
                "start_time_from":sdate,
                "start_time_to":sdate,
                "RM_CURRENT_PAGE_INPUT":"",
                # "rm_current_page":"1",
                # "rm_page_size":"10",
                # "RM_PAGE_SUM":"5674",
                "id":"",
                # "notice_type":"%E6%8B%9B%E6%A0%87%E5%85%AC%E5%91%8A",
                "notice_group":"PUR",
                "notice_title":"",
            },
            verify = False
        )
        pattern = re.compile(r'<a\sonclick="noticeDetail.*title=.*>(.*)</a>|<span class="list_right">(\d{4}-\d{1,2}-\d{1,2})</span>')
        results = pattern.findall(response.text)
        messages  = map(lambda m, n: "发布日期:" +n+'\r\n' +m,[x[0] for x in results[::2]],[y[1] for y in results[1::2]])
        relist = [message for message in messages]
        return relist

class Weixin:
    def __init__(self, url, corpid, corpsecret):
        token_url = '%s/cgi-bin/gettoken?corpid=%s&corpsecret=%s' % (url, corpid, corpsecret)
        self.token = json.loads(urllib.request.urlopen(token_url).read().decode())['access_token']

    def send_message(self, url, data):
        send_url = '%s/cgi-bin/message/send?access_token=%s' % (url, self.token)
        self.respone = urllib.request.urlopen(urllib.request.Request(url=send_url, data=data)).read()
        x = json.loads(self.respone.decode())['errcode']

        if x == 0:
            # logging.debug('Successfully %s    %s' % (subject, message))
            return 'Succesfully'
        else:
            # logging.debug('Failed %s    %s' % (subject, message))
            return 'Failed'

    def messages(self, subject, message):
        values = {
            "touser": touser,
            "msgtype": 'text',
            "agentid": agentid,
            "text": {'content': subject + message},
            "safe": 0
        }
        return self.send_message(url, bytes(json.dumps(values), 'utf-8'))


touser = '@all'
agentid = 0   # 应用
corpid = '????????????'  # 企业号
corpsecret = '' #'????????????????????????????'   #应用ID
url = 'https://qyapi.weixin.qq.com'
# subject = sys.argv[2]  # 标题
# message = sys.argv[3]  # 内容
province = {
    '集团': '10',
    '北京': '11',
    '天津': '12',
    '河北': '13',
    '山西': '14',
    '内蒙古': '15',
    '辽宁': '21',
    '吉林': '22',
    '黑龙江': '23',
    '上海': '31',
    '江苏': '32',
    '浙江': '33',
    '安徽': '34',
    '福建': '35',
    '江西': '36',
    '山东': '37',
    '河南': '41',
    '湖北': '42',
    '湖南': '43',
    '广东': '44',
    '广西': '45',
    '海南': '46',
    '联通大数据有限公司': '49',
    '重庆': '50',
    '四川': '51',
    '贵州': '52',
    '云南': '53',
    '西藏': '54',
    '小沃科技有限公司': '55',
    '联通软件研究院': '56',
    '联通智网科技有限公司': '57',
    '联通集团财务有限公司': '58',
    '陕西': '61',
    '甘肃': '62',
    '青海': '63',
    '宁夏': '64',
    '新疆': '65',
    '导航': '66',
    '华盛': '67',
    '集成': '69',
    '中讯': '70',
    '北京联通兴业科贸有限公司': '71',
    '中网': '75',
    '中网威信': '75',
    '时科': '77',
    '宽带': '78',
    '联通沃音乐文化有限公司': '78',
    '兴业': '80',
    '联通研究院': '83',
    '中国联通国际有限公司': '85',
    '支付': '89',
    '建设': '91',
    '联通进出口': '94',
    '联通云数据': '95'}


if __name__ == '__main__':
    page=PageHelperInfo()
    blist=[]
    privname=sys.argv[1]
    if privname=='广东':
        corpsecret = '???????????????'   #应用ID
        agentid=????????
        blist=page.pageInfo(pri_name=privname)
    # elif privname=='':
    #     privname='全国'
    #     corpsecret = '??????????????'   #应用ID
    #     agentid=??????????
    #     blist=page.pageInfo()



    if 0< len(blist):
        for connent in blist:
            # print(connent)
            obj = Weixin(url, corpid, corpsecret)
            ret = obj.messages(privname, connent)




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值