在企业经营过程中,及时了解行业相关信息(市场动态、竞品策略、行业数据等等)是非常必要的。通常情况下,商品部门、营销部门、市场部门可能都会安排专门的人员定期进行这些信息的搜集、整理,再进行内部的分享。
不过在大数据时代,利用技术手段爬取互联网中的海量数据,再进行筛选分析,提取有用的信息已经是非常常用的手段,但是爬虫技术毕竟还是有点门槛的,好在现在有python这样的胶水语言。利用python+企业微信机器人就可以很简单地实现从目标网站抓取行业资讯,并定时自动推送到内部企业微信群内进行共享,起到相关人员都能够及时了解相同的行业资讯的作用,一定程度上也有利于消除企业内部的信息孤岛。
具体的实现的流程如下:

下面是我从化妆品资讯网站抓取资讯,并通过企业微信群机器人进行群推送的例子,仅供参考(案例虽然简单,但是也涉及到了http请求、html处理、webhook接口调用等相关知识,其实也算是个小小的爬虫了吧,哈哈)。
首先我们打开要抓取信息的页面,对于页面结构进行一个简单的分析,主要是为了后面对请求回来的信息好进行提取。

如图所示,我要抓取的是资讯列表和链接地址,这个部分是包含在一个<div id="content">...</div>标签当中的,其中每一个列表项定都有class = "left_news"这个属性:<div class="left_news">...</div>,再下一层标签中,我们看到在每一个div中都有一个<h1>疫情下的韩国经济喜忧参半,免税业务大受打击,奢侈品销售出现反弹</h1>标签。
我要抓取的信息其实在这相标签中就已经全部都有了,那么这个就是我要抓取的页面内容的目标了。

抓取信息的代码实现就用现在超流行的python(各种实用函数库都有,直接拿来用),由于是从网页抓取信息,并进行提取,这里用到requests,bs4(BeautifulSoup)两个库,最终代码如下:

# 从化妆品资讯网查询新闻列表
# 通过调用企业微信机器接口推送到群里
# 先引入功能库
import requests
import bs4# 自定义一个请求函数,参数是网址请求头请求参数,没有参数就空着,请求成功后返回页面的新闻列表
def catchnewslist(newsurl, headers, params):urllist = []titlelist = []resultlist = []response = requests.get(newsurl, headers=headers)if response.status_code == 200:print("请求成功!")response.encoding = 'utf-8'content = bs4.BeautifulSoup(response.text, 'html.parser')elements = content.select("#content h1 a")               # 这一句就是提取请求到的页面内容中要提取的新闻,根据不同的页面结构进行修改for element in elements:                                 # 把取到的新闻列表数据存到一个python列表中,方便后面使用urllist.append("http://www.cosmetic-news.net/" + element.get('href'))titlelist.append(element.string)resultlist = [[a, b] for a, b in zip(urllist, titlelist)]   # 把标题和地址组合成一个嵌套列表,并返回else:print(response.status_code)print("请求失败!")return resultlist# 定义一个向企业微个webhook地址post数据的函数,参数为地址和数据,这里post的是md5格式的字符串
def postmsg(url, post_data):post_data = '{"msgtype":"markdown","markdown":{"content":"%s"}}' % post_data# print(post_data)if url == '':print('url is blank')else:r = requests.post(url, data=post_data.encode())rstr = r.json()if r.status_code == 200 and 'error' not in rstr:result = 'success!'return resultelse:return 'Error'# 主函数
if __name__ == '__main__':newsurl = "http://www.cosmetic-news.net/newx-4.html"headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36"}# params = {"datatype":"jsonp", "page":"1", "callback":"flightHandler"}  参数视需求添加newslist = catchnewslist(newsurl, headers, '')# print(newslist)# 把请求回来的数据,按照要post到接口的md的格式再处理一下newslistdata = u"### 近期行业资讯: n"for i in newslist:# print("[%s](%s)" % (i[1], i[0]))newslistdata = newslistdata + "%s [%s](%s)" % (newslist.index(i) + 1, i[1], i[0]) + "n"print(newslistdata)url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=********-****-****-****-**********"   # 要post的群机器人的webhook地址# post_data = '[这是一个链接](http://work.weixin.qq.com/api/doc)' # 带链接的md字符串格式result = postmsg(url, newslistdata)  # 调用post,向webhook发送数据print(result)

补充说明一下,request请求头的写法,就是代码中:

headers={“******”}

这一句,大括号中的内容可以从浏览器=》开发者工具=》Network=》Headers=》Request Headers 中直接复制过来,如下图所示:

以上代码运行环境为python3.8,运行结果如下:

最后,我们只需要把这段代码部署为任务计划,就可以定时抓取网页信息,并自动推送到群了,掌握了这个方法,还可以进行很多的扩展。
对于计划任务的设置,之前的文章中已经写过,可以参考下面这一篇:

赵旭臻:python提取数据库数据并实现企业微信机器人定时消息推送​zhuanlan.zhihu.com

div区域内容抓取_企业微信群机器人应用:使用python从网站抓取行业资讯并定时推送...相关推荐

  1. python 企业微信群机器人_企业微信群机器人应用:使用python从网站抓取行业资讯并定时推送...

    在企业经营过程中,及时了解行业相关信息(市场动态.竞品策略.行业数据等等)是非常必要的.通常情况下,商品部门.营销部门.市场部门可能都会安排专门的人员定期进行这些信息的搜集.整理,再进行内部的分享. ...

  2. 钉钉群机器人关键词自动回复_企业微信群机器人怎么用?企业微信群机器人有什么功能?...

    使用企业微信办公时,我们可以在群聊中添加群机器人,自动推送消息,回答客户提问,那么企业微信群机器人怎么添加呢? 因为企业微信内部群机器人和外部群机器人的添加方式有一点区别,下面我们分开来讲述. 内部群 ...

  3. Python实现企业微信群机器人自动化推送

    人工智能(Artificial Intelligence),英文缩写为AI.它是研究.开发用于模拟.延伸和扩展人的智能的理论.方法.技术及应用系统的一门新的技术科学. --<百度百科> 文 ...

  4. delphi 企业微信消息机器人_企业微信群消息机器人发送开源项目

    企业微信群机器人消息发送和管理 使用方法 在bot_config配置机器人的回调地址和机器人别名,运行web_app后,会在8080启动服务,访问127.0.0.1:8080就可以访问了 其中机器人的 ...

  5. delphi 企业微信消息机器人_如何使用企业微信群机器人?实时推送消息

    很多已经开通了微信企业号的企业都会采用企业微信来进行工作上的沟通.在日常工作中,特别是服务性的行业,经常需要帮助用户解决常见的而又老是重复的问题,还需要针对顾客的使用情况,发送某些提示或者引导咨询的信 ...

  6. delphi 企业微信消息机器人_GitHub - guoxianlong/insight: Insight是一个可以管理企业微信群机器人的小工具,可以非常方便的往群里发布即时消息和定时消息。...

    最科幻的企业微信群机器人管理工具 非常方便的发布群即时消息和定时消息,解放双手,提升沟通效率 部署教程 更新日志(2020.05.31) 修复设置为智能跳过工作日时,周日依然提醒问题. 前端修复定时成 ...

  7. 企业微信群机器人是什么?企微机器人如何自动发消息?

    经常有很多用户会问我们,企业微信群机器人是什么,有什么用,有什么限制?企业微信群机器人提供的是一个webhook消息,如何可以通过这个来自动发消息呢?之前写过一些关于企业微信群机器人如何发消息的教程, ...

  8. 工作随记-Java利用企业微信群机器人定时发送消息

    hi,大家好,我是恰恰 阅读本文需要2分钟~ 最近利用企业微信群机器人做的需求主要有 1.返奖率通知与告警:抽奖箱能抽出垃圾也能抽出大货,每隔5分钟查询一下这个返奖率,如果用户频繁抽出大货,这个抽奖箱 ...

  9. [Java实战][仅需1步]企业微信群机器人[0基础接入]

    [仅需1步]企业微信群机器人[0基础接入][java] 背景 介绍 使用 测试 项目 背景 公司需要把日常的服务器错误抛到企业微信群中,我正好记录下使用企业微信群机器人- 介绍 企业微信群机器人 应用 ...

最新文章

  1. PCL—点云分割(基于凹凸性) 低层次点云处理
  2. 电脑知识:BIOS和UEFI的对比介绍!
  3. 线段树、优先队列、单调队列小结
  4. vivo NEX 3 5G真机曝光:瀑布屏+升降镜头
  5. HTML5公式插件,在HTML5中使用MathML数学公式
  6. [转]VSS中创建分支
  7. Spring核心——资源数据管理
  8. mysql创建视图不允许子查询
  9. iphone通知和android,手机App 通知数量太多,让你备感压力吗?教你如何消除令人心烦的信息通知(iPhone、Android)...
  10. python中range和arange的区别_Python——range()、xrange()和np.arange()应用说明
  11. 图片少量显示 9张一下 类似微信,微博客户端
  12. 三种基于感知哈希算法的相似图像检索技术
  13. 友盟iOS微信登陆没有回调的原因
  14. html微信窗口阻止滚动条,微信浏览器禁止页面下拉查看网址(不影响页面内部scroll)...
  15. 【Proteus仿真】51单片机驱动蜂鸣器播放《天空之城》
  16. JDK1.8帮助文档chm格式中英文
  17. 苹果视频剪辑计算机配置,视频剪辑后期神器-创作PC黑苹果系统安装与台式电脑配置推荐...
  18. 学会配色-色彩配色表
  19. 校园导航系统 数据结构
  20. TWS耳机供应链,看看背后都有谁?

热门文章

  1. Sonar问题及解决方案汇总
  2. c#listbox使用详解和常见问题解决
  3. MDF /IDF名词解析
  4. 洛谷——P2550 [AHOI2001]彩票摇奖
  5. ❤️ Spring相关配置
  6. 文本属性之装饰文本(CSS、HTML)
  7. 文本属性之文本颜色(CSS、HTML)
  8. debian mysql目录_debian Squeeze配置apache php mysql环境,debian中apache目录结
  9. 二维绕任意点旋转_解析几何|对称,平移和旋转
  10. python正则表达式怎么用_python正则表达式的使用