去掉了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)