使用Itchat模块和图灵机器人API实现个人微信的自动回复( 二 )


因为推送的消息是今日的,所以在self.['']查找今日的标题和url,再次发送get请求,拿到今日标题的全部热点信息 。
取self.['']第一个键值
list(self.variety_config_info['mrzb_title'].values())[0]
拿到全部热点消息,并处理格式,再将标头消息(时间日期+祝福语),热点消息拼接成一串新的字符串 。
标头消息格式

使用Itchat模块和图灵机器人API实现个人微信的自动回复

文章插图
self.variety_config_info['field'][2] + get_date + self.variety_config_info['field'][1]'''每天一分 知晓天下事!6月27日,农历五月初十,星期二,工作愉快,幸福生活!'''
'''早上报网今日最新热点新闻'''def grab_mrzb_data(self):self.parse_mrzb()today_new = self.response_url(list(self.variety_config_info['mrzb_title'].values())[0], False)get_text = today_new.find_all('article', {'class': {'article-content'}})get_date = today_new.find_all('meta', {'name': {'description'}})get_date = str(get_date[0])[15:31] + ','for title in get_text:result = re.findall(r'(.*?)', str(title))get_title = '\n'.join(result)tmp_flag = get_title.index('【')if '【' in get_title:get_title= get_title[:tmp_flag] + '\n' + get_title[tmp_flag:]new_data_pack = self.variety_config_info['field'][2] + get_date + self.variety_config_info['field'][1] + get_title return new_data_pack
推送360资讯最新热点消息功能
发送get请求360资讯简报网页源代码,用解析字符串,并生成解析结果对象,调用(),使用CSS类选择器''查找所有具有该类的
元素,遍历所提取到的元素,进一步用re正则表达式的方法提取热点新闻标题对应的文本数据,添加到self.['']列表中 。
【使用Itchat模块和图灵机器人API实现个人微信的自动回复】'''热点新闻'''def grab_zixun_data(self):self.paser_zixun_title() # 得到资讯网页上的标题和url# 发送请求并获取响应对象par_data_result = self.response_url(list(self.variety_config_info['get_zixun_title'].values())[0])# 使用CSS类选择器'post_body'查找所有具有该类的元素very_new = par_data_result.find_all('div', {'class': {'post_body'}})# 遍历资讯最新所有的热点标题for new in very_new:# 使用正则表达式提取热点新闻标题对应的文本数据title_1 = re.findall(r'(.*?)
.*?
', str(new))title_2 = re.findall(r'
(.*?)
', str(new))for tit1 in title_1[3:11]: # 部分标题1self.variety_config_info['new_zixun_title'].append(tit1)for tit2 in title_2[2:5]: # 部分标题2self.variety_config_info['new_zixun_title'].append(tit2)for tit3 in title_2[6:10]: # 部分标题3self.variety_config_info['new_zixun_title'].append(tit3)get_zixun_all_title = self.handle_zixun_title(self.variety_config_info['new_zixun_title'], title_1)return get_zixun_all_title # 返回资讯今日所有的最新标题

推送科技日报消息功能
先构建完整的URL,指定要访问每日早报的网页,发送get请求网页源代码,使用CSS类选择器''查找所有具有该类的元素,遍历提取到所有元素的数据,将每一条热点新闻标题添加到elf.[''],处理标题格式,用jion方法拼接成一串新的字符串 。
处理标头格式
'''得到新历/农历格式信息'''def parse_cale(self):# 获取当前日期并格式化为指定的格式report_time = time.strftime("%m月%d日", time.localtime())week = self.variety_config_info['week'].get(datetime.today().isoweekday())par_data_result = self.response_url(self.variety_config_info['url'][2]) # 发送请求并获取响应对象# 使用CSS类选择器'wnrl_k_you_id_7'查找所有具有该类的id元素find_chi_cale = par_data_result.find_all('div', {'id': {'wnrl_k_you_id_7'}})# 使用正则表达式提取农历格式的文本数据month = re.findall(r'(.*?)', str(find_chi_cale))year = re.findall(r'(.*?)', str(find_chi_cale))chi_cale = ''.join(month) + ''.join(year) # 五月初七癸卯年 【兔年】 戊午月 癸丑日get_format = chi_cale[4:7] + chi_cale[:4] # 癸卯年五月初七# 标头信息head_info = '{0},{1},{2},{3},{4}'.format(self.variety_config_info['field'][0],str(report_time),get_format,str(week),self.variety_config_info['field'][1])return head_info # 返回标头信息